|
69087
|
2476
|
28
|
2026-05-22T07:48:53.458075+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436133458_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data.
It is just ~/.screenpipe/db.sqlite without data.
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data.","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data.","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data.","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.11402926,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
5096777499325010694
|
6718154962143825559
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data.
It is just ~/.screenpipe/db.sqlite without data.
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69086
|
NULL
|
NULL
|
NULL
|
|
69088
|
2476
|
29
|
2026-05-22T07:48:57.514295+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436137514_m2.jpg...
|
iTerm2
|
ssh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
DOCKER...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":4,"on_screen":true,"value":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7934552455655060886
|
-4826995790080355036
|
click
|
accessibility
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
DOCKER...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69089
|
2475
|
28
|
2026-05-22T07:48:58.315255+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436138315_m1.jpg...
|
iTerm2
|
ssh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
ssh
Close Tab
âĽâ1
ssh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":4,"on_screen":true,"value":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":1,"bounds":{"left":0.4888889,"top":0.033333335,"width":0.01875,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-6681933780982606930
|
-4826995790081403612
|
app_switch
|
accessibility
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
ssh
Close Tab
âĽâ1
ssh...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69090
|
2475
|
29
|
2026-05-22T07:49:02.150300+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436142150_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"}]...
|
3954905919951670075
|
-7909519051183960554
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows...
|
69089
|
NULL
|
NULL
|
NULL
|
|
69091
|
2476
|
30
|
2026-05-22T07:49:03.623141+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436143623_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"}]...
|
-3299872788064875642
|
6718154962143825557
|
app_switch
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69092
|
2475
|
30
|
2026-05-22T07:49:04.320483+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436144320_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In N
It is just ~/.screenpipe/db.sqlite without data. In N
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In N","depth":25,"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In N","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In N","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.67777777,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":1.0,"top":0.0,"width":-0.024305582,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.03125,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.074305534,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7986111,"top":0.0,"width":0.00625,"height":0.016666668}},{"char_start":1,"char_count":65,"bounds":{"left":0.8048611,"top":0.0,"width":0.19513887,"height":0.016666668}}],"role_description":"text"}]...
|
-7189918800153903011
|
6718155511899639447
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In N
It is just ~/.screenpipe/db.sqlite without data. In N
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69093
|
2476
|
31
|
2026-05-22T07:49:05.912705+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436145912_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.1419548,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
6545841573048305561
|
6718154962143825559
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69091
|
NULL
|
NULL
|
NULL
|
|
69094
|
2476
|
32
|
2026-05-22T07:49:10.048825+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436150048_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses.
Type to filter...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.1419548,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":27,"bounds":{"left":0.73769945,"top":0.90981644,"width":0.0019946808,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Type to filter","depth":10,"bounds":{"left":0.7400266,"top":0.90981644,"width":0.032247342,"height":0.015961692},"on_screen":true,"role_description":"text"}]...
|
-2121707422465684224
|
6718154962143825559
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses.
Type to filter...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69095
|
2476
|
33
|
2026-05-22T07:49:11.727659+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436151727_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /vol
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/vol
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /vol","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /vol","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.1419548,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/vol","depth":27,"bounds":{"left":0.73769945,"top":0.90981644,"width":0.00930851,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
7329228658193856725
|
6718154962143825559
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /vol
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/vol
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69094
|
NULL
|
NULL
|
NULL
|
|
69096
|
2476
|
34
|
2026-05-22T07:49:12.940803+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436152940_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.1419548,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume","depth":27,"bounds":{"left":0.73769945,"top":0.90981644,"width":0.020279255,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
-8869365970743699361
|
6718154962143825559
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69097
|
2476
|
35
|
2026-05-22T07:49:14.041166+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436154041_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume1/
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.1419548,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/","depth":27,"bounds":{"left":0.73769945,"top":0.90981644,"width":0.023936171,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
-933430607821832169
|
6718154962143825559
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume1/
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69096
|
NULL
|
NULL
|
NULL
|
|
69098
|
2476
|
36
|
2026-05-22T07:49:16.866+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436156866_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpi
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume1/screenpi
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpi","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpi","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.1419548,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpi","depth":27,"bounds":{"left":0.73769945,"top":0.90981644,"width":0.045545213,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
-1551039838613240566
|
6718154962143825559
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpi
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume1/screenpi
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69099
|
2476
|
37
|
2026-05-22T07:49:17.949011+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436157949_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume1/screenpipe
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.08045213,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"bounds":{"left":0.59707445,"top":0.019952115,"width":0.23105054,"height":0.031923383},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.015961692,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":121,"bounds":{"left":0.59707445,"top":0.015961692,"width":0.23105054,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"bounds":{"left":0.59707445,"top":0.06384677,"width":0.080119684,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.06464485,"width":0.003656915,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.6007314,"top":0.06464485,"width":0.076130316,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.0981644,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.10295291,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.103751,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.103751,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.103390954,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":35,"bounds":{"left":0.60206115,"top":0.1292897,"width":0.09773936,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.025265958,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.70511967,"top":0.1292897,"width":0.022606382,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.14764565,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.06715426,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.14764565,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":22,"bounds":{"left":0.60738033,"top":0.14764565,"width":0.061502658,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"bounds":{"left":0.59707445,"top":0.1859537,"width":0.16422872,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.1867518,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":66,"bounds":{"left":0.60106385,"top":0.1867518,"width":0.15990691,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.11502659,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.20670392,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":39,"bounds":{"left":0.60139626,"top":0.20670392,"width":0.112034574,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.20510775,"width":0.0013297872,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.23942538,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.2442139,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.24501197,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.27055067,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.27134877,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.27055067,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.27134877,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.27055067,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.27055067,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.27134877,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.27134877,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.30965683,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.30965683,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.3104549,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.31125298,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.31125298,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.30965683,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.30965683,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.32960895,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.33040702,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.33040702,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.32881084,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.32881084,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.3623304,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.367917,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.367917,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.367917,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.3942538,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.3942538,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.41260973,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.41181165,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.41260973,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.41181165,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.41181165,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.41260973,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.41260973,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.48044693,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.48044693,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.48044693,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.48044693,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.48044693,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.528332,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.528332,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.547486,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.547486,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.547486,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.547486,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.547486,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.547486,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.5810056,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.5865922,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.5865922,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.612929,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.612929,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.612929,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.63048685,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.6312849,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.63048685,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.6312849,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.63048685,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.63048685,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.6312849,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.6312849,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.63048685,"width":0.016954787,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.63048685,"width":0.022606382,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.63048685,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.63048685,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.64884275,"width":0.08111702,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.059507977,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.688747,"width":0.01462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.68794894,"width":0.22839096,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.70790106,"width":0.057845745,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.70710295,"width":0.22639628,"height":0.035115723},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.6263298,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.5940825,"top":0.7893057,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":28,"bounds":{"left":0.5974069,"top":0.7972865,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":29,"bounds":{"left":0.5990692,"top":0.8659218,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Remove Pasted Text, pasted, 108 lines","depth":26,"bounds":{"left":0.59142286,"top":0.782921,"width":0.0066489363,"height":0.016759777},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is","depth":27,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.1419548,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":27,"bounds":{"left":0.73769945,"top":0.90981644,"width":0.05219415,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.7606383,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.76396275,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.78457445,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"bounds":{"left":0.81582445,"top":0.93695134,"width":0.0003324468,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"bounds":{"left":0.8161569,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Send message","depth":26,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
8348825514559274234
|
6862270150219681431
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
Remove Pasted Text, pasted, 108 lines
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
It is just ~/.screenpipe/db.sqlite without data. In NAS it is
/volume1/screenpipe
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Send message
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69098
|
NULL
|
NULL
|
NULL
|
|
69100
|
2476
|
38
|
2026-05-22T07:49:21.289388+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436161289_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is responding","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"bounds":{"left":0.5984042,"top":0.019952115,"width":0.11502659,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.019952115,"width":0.0013297872,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.07581804,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.054269753,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.054269753,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.054269753,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.08060654,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.08060654,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.08060654,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.08060654,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.08060654,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.08060654,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.08060654,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.08060654,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.08060654,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.08060654,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.08060654,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.08060654,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.08060654,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.08060654,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.08060654,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.118914604,"width":0.094082445,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.11971269,"width":0.0039893617,"height":0.015961692}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.11971269,"width":0.08909574,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.12051077,"width":0.054853722,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.12051077,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.12051077,"width":0.051861703,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.118914604,"width":0.05086436,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.11971269,"width":0.0009973404,"height":0.015961692}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.11971269,"width":0.04654255,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.1396648,"width":0.069148935,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.1396648,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.1396648,"width":0.06615692,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.13806863,"width":0.0774601,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.13886672,"width":0.0013297872,"height":0.015961692}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.13886672,"width":0.07646277,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.17238627,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.17717478,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.17797287,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.17797287,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.20351157,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.20430966,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.20430966,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.22186752,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.22186752,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.22186752,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.22186752,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.22186752,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.22186752,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.22186752,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.22186752,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.22186752,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.22186752,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.22186752,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.2897047,"width":0.06482713,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.2905028,"width":0.0043218085,"height":0.015961692}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.2905028,"width":0.059507977,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.2897047,"width":0.025930852,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.2905028,"width":0.0016622341,"height":0.015961692}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.2905028,"width":0.024268618,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.2897047,"width":0.23005319,"height":0.035913806},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.2905028,"width":0.0009973404,"height":0.015961692}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.2905028,"width":0.23005319,"height":0.035115723}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.33758977,"width":0.22972074,"height":0.035913806},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.33838788,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.33838788,"width":0.22972074,"height":0.035115723}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.3567438,"width":0.015292553,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.3575419,"width":0.0029920214,"height":0.015961692}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.3575419,"width":0.012300532,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.3567438,"width":0.08045213,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.3575419,"width":0.0013297872,"height":0.015961692}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.3575419,"width":0.078125,"height":0.015961692}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.39106146,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.39584997,"width":0.0056515955,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.39664805,"width":0.0019946808,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.39664805,"width":0.003656915,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.42218676,"width":0.11469415,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.42298484,"width":0.0029920214,"height":0.013567438}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.42298484,"width":0.11170213,"height":0.013567438}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.4405427,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.4405427,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.4405427,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.4405427,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.4405427,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.4405427,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.4405427,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.4405427,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.4405427,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.4405427,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.4405427,"width":0.016954787,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.4405427,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":5,"bounds":{"left":0.6828458,"top":0.4405427,"width":0.014295213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.4405427,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.4405427,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.70511967,"top":0.4405427,"width":0.019614361,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.4405427,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7330452,"top":0.4405427,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.73603725,"top":0.4405427,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.4405427,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.45889863,"width":0.08111702,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.45889863,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":28,"bounds":{"left":0.60206115,"top":0.45889863,"width":0.078125,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.49720672,"width":0.059507977,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.4980048,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":23,"bounds":{"left":0.60039896,"top":0.4980048,"width":0.05518617,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.49880287,"width":0.01462766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.65791225,"top":0.49880287,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":4,"bounds":{"left":0.6609042,"top":0.49880287,"width":0.011635638,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.49720672,"width":0.22839096,"height":0.035913806},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.67386967,"top":0.4980048,"width":0.0009973404,"height":0.015961692}},{"char_start":1,"char_count":87,"bounds":{"left":0.59707445,"top":0.4980048,"width":0.22839096,"height":0.035115723}}],"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.5179569,"width":0.057845745,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.65890956,"top":0.5179569,"width":0.0029920214,"height":0.015163607}},{"char_start":1,"char_count":19,"bounds":{"left":0.6619016,"top":0.5179569,"width":0.054853722,"height":0.015163607}}],"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.51636076,"width":0.22639628,"height":0.035913806},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.56264967,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.56264967,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.56264967,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"bounds":{"left":0.5940825,"top":0.6065443,"width":0.0003324468,"height":0.0015961692},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"bounds":{"left":0.5940825,"top":0.60734236,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"bounds":{"left":0.79853725,"top":0.60734236,"width":0.039893616,"height":0.096568234},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"bounds":{"left":0.8018617,"top":0.61532325,"width":0.032912236,"height":0.056664005},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"bounds":{"left":0.80352396,"top":0.6839585,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"bounds":{"left":0.6392952,"top":0.72306466,"width":0.19514628,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"bounds":{"left":0.8055186,"top":0.75977653,"width":0.009640957,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"bounds":{"left":0.8178192,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.8284575,"top":0.75339186,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Write a messageâŚ","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"Write a messageâŚ","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Write a messageâŚ","depth":28,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.04654255,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.77393615,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.77726066,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.79787236,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Stop response","depth":25,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
-4548635487864238611
|
6719298454236843679
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69101
|
NULL
|
0
|
2026-05-22T07:49:33.555790+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436173555_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Dissecting source schema table structures methodically
Dissecting source schema table structures methodically
Dissecting source schema table structures methodically
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is responding","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dissecting source schema table structures methodically","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dissecting source schema table structures methodically","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Dissecting source schema table structures methodically","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Write a messageâŚ","depth":25,"on_screen":true,"value":"Write a messageâŚ","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Write a messageâŚ","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.67777777,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":1.0,"top":0.0,"width":-0.052083373,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.05902779,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Stop response","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7986111,"top":0.0,"width":0.00625,"height":0.016666668}},{"char_start":1,"char_count":65,"bounds":{"left":0.8048611,"top":0.0,"width":0.19513887,"height":0.016666668}}],"role_description":"text"}]...
|
-1857305151609864691
|
954690931202608799
|
typing_pause
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Dissecting source schema table structures methodically
Dissecting source schema table structures methodically
Dissecting source schema table structures methodically
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69092
|
NULL
|
NULL
|
NULL
|
|
69102
|
NULL
|
0
|
2026-05-22T07:49:51.696852+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436191696_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Crafting ALTER TABLE statements for schema synchronization
Crafting ALTER TABLE statements for schema synchronization
Identified schema mismatches and formulated database migration strategy
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is responding","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"bounds":{"left":0.71476066,"top":0.019952115,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.06464485,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.04309657,"width":0.00930851,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.043894652,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.043894652,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"bounds":{"left":0.5990692,"top":0.06943336,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.070231445,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.60206115,"top":0.070231445,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"bounds":{"left":0.61037236,"top":0.06943336,"width":0.011303191,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"bounds":{"left":0.6213431,"top":0.06943336,"width":0.078457445,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6213431,"top":0.070231445,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":27,"bounds":{"left":0.6243351,"top":0.070231445,"width":0.075465426,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"bounds":{"left":0.6994681,"top":0.06943336,"width":0.11768617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6994681,"top":0.070231445,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":39,"bounds":{"left":0.7024601,"top":0.070231445,"width":0.109042555,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"bounds":{"left":0.8168218,"top":0.06943336,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.81981385,"top":0.06943336,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"bounds":{"left":0.8224734,"top":0.06943336,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8224734,"top":0.070231445,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.82546544,"top":0.070231445,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"bounds":{"left":0.59707445,"top":0.10853951,"width":0.094082445,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.10853951,"width":0.0039893617,"height":0.016759777}},{"char_start":1,"char_count":36,"bounds":{"left":0.60106385,"top":0.10853951,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"bounds":{"left":0.6924867,"top":0.10933759,"width":0.054853722,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6924867,"top":0.110135674,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":18,"bounds":{"left":0.69547874,"top":0.110135674,"width":0.051861703,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"bounds":{"left":0.7486702,"top":0.10853951,"width":0.05086436,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7486702,"top":0.10853951,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.7496675,"top":0.10853951,"width":0.04654255,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"bounds":{"left":0.5984042,"top":0.12849163,"width":0.069148935,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5984042,"top":0.1292897,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":23,"bounds":{"left":0.60139626,"top":0.1292897,"width":0.06615692,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"bounds":{"left":0.66888297,"top":0.12769353,"width":0.0774601,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.12769353,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":32,"bounds":{"left":0.66988033,"top":0.12769353,"width":0.07646277,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.16121309,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.5990692,"top":0.16679968,"width":0.00930851,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.16679968,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":3,"bounds":{"left":0.60172874,"top":0.16679968,"width":0.0066489363,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"bounds":{"left":0.5990692,"top":0.19313647,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.19313647,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.60206115,"top":0.19313647,"width":0.019281914,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"bounds":{"left":0.5990692,"top":0.21069433,"width":0.0056515955,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.21149242,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":1,"bounds":{"left":0.60206115,"top":0.21149242,"width":0.0026595744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"bounds":{"left":0.6047208,"top":0.21069433,"width":0.14527926,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6047208,"top":0.21149242,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":49,"bounds":{"left":0.60738033,"top":0.21149242,"width":0.13696809,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"bounds":{"left":0.75,"top":0.21069433,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.75265956,"top":0.21069433,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"bounds":{"left":0.7553192,"top":0.21069433,"width":0.025598405,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7553192,"top":0.21149242,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":8,"bounds":{"left":0.75831115,"top":0.21149242,"width":0.022273935,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"bounds":{"left":0.59707445,"top":0.2793296,"width":0.06482713,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.2793296,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":25,"bounds":{"left":0.60139626,"top":0.2793296,"width":0.059507977,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"bounds":{"left":0.6619016,"top":0.2793296,"width":0.025930852,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6619016,"top":0.2793296,"width":0.0016622341,"height":0.016759777}},{"char_start":1,"char_count":8,"bounds":{"left":0.66356385,"top":0.2793296,"width":0.024268618,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"bounds":{"left":0.59707445,"top":0.2793296,"width":0.23005319,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6878325,"top":0.2793296,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":118,"bounds":{"left":0.59707445,"top":0.2793296,"width":0.23005319,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"bounds":{"left":0.59707445,"top":0.3272147,"width":0.22972074,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.3272147,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":117,"bounds":{"left":0.59707445,"top":0.3272147,"width":0.22972074,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"bounds":{"left":0.6672208,"top":0.3463687,"width":0.015292553,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6672208,"top":0.3463687,"width":0.0029920214,"height":0.016759777}},{"char_start":1,"char_count":5,"bounds":{"left":0.67021275,"top":0.3463687,"width":0.012300532,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"bounds":{"left":0.6821808,"top":0.3463687,"width":0.08045213,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6821808,"top":0.3463687,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":31,"bounds":{"left":0.6831782,"top":0.3463687,"width":0.078125,"height":0.016759777}}],"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"bounds":{"left":0.82546544,"top":0.37988827,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"bounds":{"left":0.5990692,"top":0.38547486,"width":0.0056515955,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.38547486,"width":0.0019946808,"height":0.012769354}},{"char_start":1,"char_count":2,"bounds":{"left":0.60106385,"top":0.38547486,"width":0.003656915,"height":0.012769354}}],"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.11469415,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.41181165,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":40,"bounds":{"left":0.60206115,"top":0.41181165,"width":0.11170213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"bounds":{"left":0.5990692,"top":0.4293695,"width":0.013962766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.4301676,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.60206115,"top":0.4301676,"width":0.010970744,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6130319,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"bounds":{"left":0.6156915,"top":0.4293695,"width":0.014295213,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6156915,"top":0.4301676,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6186835,"top":0.4301676,"width":0.011303191,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"bounds":{"left":0.6296542,"top":0.4293695,"width":0.03956117,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"bounds":{"left":0.66888297,"top":0.4293695,"width":0.008643617,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.66888297,"top":0.4301676,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":2,"bounds":{"left":0.671875,"top":0.4301676,"width":0.0056515955,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6771942,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"bounds":{"left":0.68018615,"top":0.4293695,"width":0.016954787,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.68018615,"top":0.4301676,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":5,"bounds":{"left":0.6828458,"top":0.4301676,"width":0.014295213,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.6968085,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.6994681,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"bounds":{"left":0.7024601,"top":0.4293695,"width":0.022606382,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7024601,"top":0.4301676,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":7,"bounds":{"left":0.70511967,"top":0.4301676,"width":0.019614361,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.72473407,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.7273936,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"bounds":{"left":0.73038566,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"bounds":{"left":0.7330452,"top":0.4293695,"width":0.011303191,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7330452,"top":0.4301676,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":3,"bounds":{"left":0.73603725,"top":0.4301676,"width":0.00831117,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"bounds":{"left":0.7443484,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"bounds":{"left":0.74700797,"top":0.4293695,"width":0.0029920214,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"bounds":{"left":0.5990692,"top":0.44772545,"width":0.08111702,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.5990692,"top":0.44852355,"width":0.0029920214,"height":0.013567438}},{"char_start":1,"char_count":28,"bounds":{"left":0.60206115,"top":0.44852355,"width":0.078125,"height":0.013567438}}],"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"bounds":{"left":0.59707445,"top":0.4868316,"width":0.059507977,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.59707445,"top":0.4868316,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":23,"bounds":{"left":0.60039896,"top":0.4868316,"width":0.05518617,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"bounds":{"left":0.65791225,"top":0.48762968,"width":0.01462766,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.65791225,"top":0.4884278,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":4,"bounds":{"left":0.6609042,"top":0.4884278,"width":0.011635638,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"bounds":{"left":0.59707445,"top":0.4868316,"width":0.22839096,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.67386967,"top":0.4868316,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":87,"bounds":{"left":0.59707445,"top":0.4868316,"width":0.22839096,"height":0.035913806}}],"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"bounds":{"left":0.65890956,"top":0.5067837,"width":0.057845745,"height":0.015163607},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.65890956,"top":0.50758183,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":19,"bounds":{"left":0.6619016,"top":0.50758183,"width":0.054853722,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"bounds":{"left":0.59707445,"top":0.5059856,"width":0.22639628,"height":0.035115723},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7180851,"top":0.5059856,"width":0.0009973404,"height":0.016759777}},{"char_start":1,"char_count":111,"bounds":{"left":0.59707445,"top":0.5059856,"width":0.22639628,"height":0.035913806}}],"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.5944149,"top":0.5522745,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.6050532,"top":0.5522745,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.6156915,"top":0.5522745,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"bounds":{"left":0.5940825,"top":0.5961692,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"bounds":{"left":0.5940825,"top":0.5961692,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"bounds":{"left":0.79853725,"top":0.5969673,"width":0.039893616,"height":0.09577015},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"bounds":{"left":0.8018617,"top":0.60415006,"width":0.032912236,"height":0.057462092},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"bounds":{"left":0.80352396,"top":0.6735834,"width":0.013962766,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"bounds":{"left":0.6399601,"top":0.7126895,"width":0.19381648,"height":0.015961692},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"bounds":{"left":0.8055186,"top":0.74940145,"width":0.009640957,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"bounds":{"left":0.8178192,"top":0.7422187,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.8284575,"top":0.7422187,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Crafting ALTER TABLE statements for schema synchronization","depth":22,"bounds":{"left":0.59707445,"top":0.77573824,"width":0.24202128,"height":0.023144454},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Crafting ALTER TABLE statements for schema synchronization","depth":23,"bounds":{"left":0.60638297,"top":0.77972865,"width":0.13630319,"height":0.014365523},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Identified schema mismatches and formulated database migration strategy","depth":23,"bounds":{"left":0.59674203,"top":0.7980846,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Write a messageâŚ","depth":25,"bounds":{"left":0.59607714,"top":0.90901834,"width":0.24401596,"height":0.018355945},"on_screen":true,"value":"Write a messageâŚ","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Write a messageâŚ","depth":28,"bounds":{"left":0.59607714,"top":0.90981644,"width":0.04654255,"height":0.016759777},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.59474736,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":0.77393615,"top":0.93695134,"width":0.05285904,"height":0.025538707},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":0.77726066,"top":0.9425379,"width":0.019281914,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":0.79787236,"top":0.9425379,"width":0.020944148,"height":0.013567438},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Stop response","depth":25,"bounds":{"left":0.8294548,"top":0.93695134,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.6525931,"top":0.980846,"width":0.12832446,"height":0.011971269},"on_screen":true,"role_description":"text"}]...
|
-3705019331689075147
|
6719280862319234719
|
idle
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Crafting ALTER TABLE statements for schema synchronization
Crafting ALTER TABLE statements for schema synchronization
Identified schema mismatches and formulated database migration strategy
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69100
|
NULL
|
NULL
|
NULL
|
|
69103
|
2477
|
0
|
2026-05-22T07:50:03.800080+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436203800_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statemen
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is responding","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Edit","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Identified schema mismatches and formulated database migration strategy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Identified schema mismatches and formulated database migration strategy","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Got it â paths are","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(not under","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") and","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Now I can diff.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"â NAS is missing 4 columns. On the NAS via SSH:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.011805556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":28,"bounds":{"left":0.69861114,"top":0.0,"width":0.11666667,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.11111111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"bounds":{"left":0.79791665,"top":0.0,"width":0.011805556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"bounds":{"left":0.8090278,"top":0.0,"width":0.029861111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.31319445,"height":0.013333334},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.31319445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.31319445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.31319445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.31319445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"bounds":{"left":0.68680555,"top":0.0,"width":0.018055556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_transcriptions","depth":26,"bounds":{"left":0.7236111,"top":0.0,"width":0.12013889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"especially looks like it grew several columns (","depth":25,"bounds":{"left":0.84652776,"top":0.0,"width":0.15347224,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"start_time","depth":26,"bounds":{"left":1.0,"top":0.0,"width":-0.08402777,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":26,"bounds":{"left":0.68541664,"top":0.0,"width":0.048611112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"bounds":{"left":0.73680556,"top":0.0,"width":0.0048611113,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"text_length","depth":26,"bounds":{"left":0.74444443,"top":0.0,"width":0.065972224,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"bounds":{"left":0.81319445,"top":0.0,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"redacted_at","depth":26,"bounds":{"left":0.8215278,"top":0.0,"width":0.065972224,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", etc.), plus there are now whole new tables on source (","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_runs","depth":26,"bounds":{"left":0.68958336,"top":0.0,"width":0.09652778,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"bounds":{"left":0.7888889,"top":0.0,"width":0.0048611113,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_segments","depth":26,"bounds":{"left":0.7965278,"top":0.0,"width":0.12083333,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"bounds":{"left":0.9201389,"top":0.0,"width":0.0048611113,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"speaker_identity_evidence","depth":26,"bounds":{"left":0.92777777,"top":0.0,"width":0.07222223,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"bounds":{"left":1.0,"top":0.0,"width":-0.08124995,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"meeting_transcript_segments","depth":26,"bounds":{"left":0.68541664,"top":0.0,"width":0.1625,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") that don't exist on the NAS at all.","depth":25,"bounds":{"left":0.8506944,"top":0.0,"width":0.14930558,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"bounds":{"left":0.68680555,"top":0.0,"width":0.019444445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Still on NAS","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.08194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.11111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":27,"bounds":{"left":0.79791665,"top":0.0,"width":0.011805556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":27,"bounds":{"left":0.8090278,"top":0.0,"width":0.029861111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_transcriptions","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.16388889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speakers","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.09375,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_embeddings","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.15208334,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_tags","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.10555556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_runs","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.14027777,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_segments","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.16388889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_identity_evidence","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.19305556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema meeting_transcript_segments","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.20416667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":27,"bounds":{"left":0.68680555,"top":0.0,"width":0.018055556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Paste the output and I'll diff all of them against the source.","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Make the sync script source-driven for table creation.","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.28125,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Pull","depth":26,"bounds":{"left":0.9861111,"top":0.0,"width":0.0138888955,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":27,"bounds":{"left":1.0,"top":0.0,"width":-0.013888836,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statemen","depth":26,"bounds":{"left":1.0,"top":0.0,"width":-0.08888888,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Scroll to bottom","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Write a messageâŚ","depth":25,"on_screen":true,"value":"Write a messageâŚ","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Write a messageâŚ","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.67777777,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":1.0,"top":0.0,"width":-0.052083373,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.05902779,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Stop response","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7986111,"top":0.0,"width":0.00625,"height":0.016666668}},{"char_start":1,"char_count":65,"bounds":{"left":0.8048611,"top":0.0,"width":0.19513887,"height":0.016666668}}],"role_description":"text"}]...
|
-3708764881021855181
|
2107612452989324959
|
idle
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Claude is responding
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Edit
Copy
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statemen
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Stop response
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69104
|
2478
|
0
|
2026-05-22T07:50:22.213726+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436222213_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":false,"role_description":"text"}]...
|
8749576146941422883
|
6718154979323694751
|
idle
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69105
|
2477
|
1
|
2026-05-22T07:50:25.940317+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436225940_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Got it â paths are ~/.","depth":21,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Got it â paths are ~/.","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Identified schema mismatches and formulated database migration strategy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Identified schema mismatches and formulated database migration strategy","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Got it â paths are","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(not under","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") and","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Now I can diff.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"â NAS is missing 4 columns. On the NAS via SSH:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"}]...
|
6547462848136158218
|
6719272065957645975
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe...
|
69103
|
NULL
|
NULL
|
NULL
|
|
69106
|
2478
|
1
|
2026-05-22T07:50:26.041905+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436226041_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"}]...
|
-4345369383119336606
|
306173153159958166
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh...
|
69104
|
NULL
|
NULL
|
NULL
|
|
69107
|
2478
|
2
|
2026-05-22T07:50:26.790713+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436226790_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"}]...
|
2486870740660510363
|
6718155511899770525
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69108
|
2477
|
2
|
2026-05-22T07:50:27.096168+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436227096_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statements from
sqlite_master
on the source DB at runtime and apply them with
CREATE TABLE IF NOT EXISTS
on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.
Add a schema-drift check before sync.
For each table being synced, compare
PRAGMA table_info()
on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic "X columns but Y values" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.
The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?
Copy
Give positive feedback
Give negative feedback
Retry
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Use voice mode
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Got it â paths are ~/.","depth":21,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Got it â paths are ~/.","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Identified schema mismatches and formulated database migration strategy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Identified schema mismatches and formulated database migration strategy","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Got it â paths are","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(not under","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") and","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Now I can diff.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"â NAS is missing 4 columns. On the NAS via SSH:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_transcriptions","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"especially looks like it grew several columns (","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"start_time","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"text_length","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"redacted_at","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", etc.), plus there are now whole new tables on source (","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_runs","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_segments","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"speaker_identity_evidence","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"meeting_transcript_segments","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") that don't exist on the NAS at all.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Still on NAS","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_transcriptions","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speakers","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_embeddings","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_tags","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_runs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_segments","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_identity_evidence","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema meeting_transcript_segments","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Paste the output and I'll diff all of them against the source.","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.2951389,"height":0.023333333},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6826389,"top":0.0,"width":0.00625,"height":0.022222223}},{"char_start":1,"char_count":61,"bounds":{"left":0.6888889,"top":0.0,"width":0.2888889,"height":0.022222223}}],"role_description":"text"},{"role":"AXStaticText","text":"Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0044444446},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Make the sync script source-driven for table creation.","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.28125,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Pull","depth":26,"bounds":{"left":0.9861111,"top":0.0,"width":0.0138888955,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":27,"bounds":{"left":1.0,"top":0.0,"width":-0.013888836,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements from","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sqlite_master","depth":27,"bounds":{"left":0.7347222,"top":0.0,"width":0.07847222,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the source DB at runtime and apply them with","depth":26,"bounds":{"left":0.8159722,"top":0.0,"width":0.18402779,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE IF NOT EXISTS","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add a schema-drift check before sync.","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.20208333,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"For each table being synced, compare","depth":26,"bounds":{"left":0.90625,"top":0.0,"width":0.09375,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PRAGMA table_info()","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic \"X columns but Y values\" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.6770833,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.69930553,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.72152776,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.74375,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Scroll to bottom","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Write a messageâŚ","depth":25,"on_screen":true,"value":"Write a messageâŚ","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Write a messageâŚ","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.67777777,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":1.0,"top":0.0,"width":-0.024305582,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.03125,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.074305534,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Use voice mode","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7986111,"top":0.0,"width":0.00625,"height":0.016666668}},{"char_start":1,"char_count":65,"bounds":{"left":0.8048611,"top":0.0,"width":0.19513887,"height":0.016666668}}],"role_description":"text"}]...
|
6756247579152148537
|
2106487085691850271
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statements from
sqlite_master
on the source DB at runtime and apply them with
CREATE TABLE IF NOT EXISTS
on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.
Add a schema-drift check before sync.
For each table being synced, compare
PRAGMA table_info()
on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic "X columns but Y values" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.
The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?
Copy
Give positive feedback
Give negative feedback
Retry
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Use voice mode
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69109
|
2477
|
3
|
2026-05-22T07:50:32.003223+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436232003_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statements from
sqlite_master
on the source DB at runtime and apply them with
CREATE TABLE IF NOT EXISTS
on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.
Add a schema-drift check before sync.
For each table being synced, compare
PRAGMA table_info()
on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic "X columns but Y values" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.
The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?
Copy
Give positive feedback
Give negative feedback
Retry
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Got it â paths are ~/.","depth":21,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Got it â paths are ~/.","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Identified schema mismatches and formulated database migration strategy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Identified schema mismatches and formulated database migration strategy","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Got it â paths are","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(not under","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") and","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Now I can diff.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"â NAS is missing 4 columns. On the NAS via SSH:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_transcriptions","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"especially looks like it grew several columns (","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"start_time","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"text_length","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"redacted_at","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", etc.), plus there are now whole new tables on source (","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_runs","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_segments","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"speaker_identity_evidence","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"meeting_transcript_segments","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") that don't exist on the NAS at all.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Still on NAS","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_transcriptions","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speakers","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_embeddings","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_tags","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_runs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_segments","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_identity_evidence","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema meeting_transcript_segments","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Paste the output and I'll diff all of them against the source.","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.2951389,"height":0.023333333},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.6826389,"top":0.0,"width":0.00625,"height":0.022222223}},{"char_start":1,"char_count":61,"bounds":{"left":0.6888889,"top":0.0,"width":0.2888889,"height":0.022222223}}],"role_description":"text"},{"role":"AXStaticText","text":"Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0044444446},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Make the sync script source-driven for table creation.","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.28125,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Pull","depth":26,"bounds":{"left":0.9861111,"top":0.0,"width":0.0138888955,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":27,"bounds":{"left":1.0,"top":0.0,"width":-0.013888836,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements from","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sqlite_master","depth":27,"bounds":{"left":0.7347222,"top":0.0,"width":0.07847222,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the source DB at runtime and apply them with","depth":26,"bounds":{"left":0.8159722,"top":0.0,"width":0.18402779,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE IF NOT EXISTS","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add a schema-drift check before sync.","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.20208333,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"For each table being synced, compare","depth":26,"bounds":{"left":0.90625,"top":0.0,"width":0.09375,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PRAGMA table_info()","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic \"X columns but Y values\" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.6770833,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.69930553,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.72152776,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.74375,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Scroll to bottom","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Write a messageâŚ","depth":25,"on_screen":true,"value":"Write a messageâŚ","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Write a messageâŚ","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.67777777,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6487779418227212807
|
2106487085691850271
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statements from
sqlite_master
on the source DB at runtime and apply them with
CREATE TABLE IF NOT EXISTS
on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.
Add a schema-drift check before sync.
For each table being synced, compare
PRAGMA table_info()
on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic "X columns but Y values" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.
The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?
Copy
Give positive feedback
Give negative feedback
Retry
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more...
|
69108
|
NULL
|
NULL
|
NULL
|
|
69110
|
2477
|
4
|
2026-05-22T07:50:33.548258+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436233548_m1.jpg...
|
iTerm2
|
ssh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
ssh
Close Tab
âĽâ1
ssh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'\nALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'\n CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));\nALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;\nALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;\nALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;\nSQL","depth":4,"on_screen":true,"value":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'\nALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'\n CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));\nALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;\nALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;\nALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;\nSQL","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":1,"bounds":{"left":0.4888889,"top":0.033333335,"width":0.01875,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
1938034920560603970
|
-4826995754647923420
|
click
|
accessibility
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
ssh
Close Tab
âĽâ1
ssh...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69111
|
2478
|
3
|
2026-05-22T07:50:32.521979+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436232521_m2.jpg...
|
iTerm2
|
ssh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FV faVsco.js~?9 masterProjectMáť CLAUDE.md& com FV faVsco.js~?9 masterProjectMáť CLAUDE.md& composer.json0 composer.lock0 dependency-checker.json0 dev.json= ids tytlE infection.json.distM-INSTALL.mdM+ INTERNAL_WEBHOOK_SETUP.mdEjiminny storageM+licenses.mom MakerileŃаŃкаqĐľ-lock. sonE phpstan.neon.dist= phostan-baseline.neon<âş phounit.xmliTe raw sal querv.saML README.mdso sonar-oroiect.oropertiesE test.py<> Untited Diadram.xmlI vetur.config.jsMJ WEBHOOK FILTERING IMPLEMENTATION.moâş ib External Librariesv = Scratches and Consolesv D Database ConsolesVASUA console (EU]A DEAL RISKS [EU]A DI [EU]A EU (EU]v A jiminny@localhostA console ljiminny@localhost]A DI [jiminny@localhost]A HS_local [jiminny@localhost]A SF [iiminny@localhostl& zoho dev liminny@localhostV A PRODA console (PROD]A console_1 [PROD]A DI (PROD]> ĐOAA QAI> A QAI PRODSTAGINGA console [STAGINGIA console 1 [STAGiNG)#uranus STAGINGI>⢠Extensions) M Scratches⢠rli zz May 10-20.34Propnetcllent.onpcetalAcuivity lypeviarropnetservice.onpŠ SyncReŠ GenerateAiActivityTypewsnaredsyncrieldsIrait.onowsyncermrieldstrait.ongC) FieldRepository.phpActivityPlaybookTrait.phpŠ ImportMetadata.phpŠ CrmHelyclass GenerateAiActivityTypeServiceprivate function processAlActivityTypeResponse(arnay Scontent, $activityType = $this->playbookCategoryRepository->findByGrâš$content['ai_activity_type'],sgroupif ($activityType === null) {$this->processingStateManager->setSkipped(sactivity->getldo,state: ActivityProcessingStateManager::STATE_AI_ACTI\sthns->loqger->intolrciHuD⢠' Vetected Al ACtIvITY'activity' => Sactivity->getUuid(),sthis->loalolatadod Sactivity.isDetected: "No')return:Sthis-âşactivityRepository->update(Sactivity, I'playbook_category_id' = $activityType->getId(),151153$this->LogToDatadog(Sactivity,isDetected: IVec1)*$this->processingStateManager->setFinished($activity->getId(),state: ActivityProcessingStateManager::STATE_AI_ACTIVITY.);private function loaToDatadog(Activity Sactivity. string SisDet⢠⢠C0, Chat:= Cowork" Code+ New chat6 Projects8 Artifactse CustomizePinnedO Bu garian cit zenshio aoolication orcDawarich location tracking projectKecents⢠Screenpipe module not found error⢠Interactive language learning throus⢠Recent love experiences⢠Cities visited this year⢠Did I drive today⢠Last visit to Lovech⢠Monthlv spending breakdown and re⢠Swimming visits this vear⢠Screenpipe prune database vacuum e⢠Marking text locations in Screenpipe⢠Updating packages in Laravel⢠Screenpipe data sync and retention n⢠Screenpipe svnc script failing after reO Hubsnot BadRequest headers debug.⢠Monthly expense tracking⢠Exporting transaction data from No⢠@ How much have I spent for groc.⢠April 2026 spending by category⢠Code diff review@ HubSoot rate limit imolementation stiScreenpipe module not found errornode: prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace(internal/modules/cis/loader. is:880.old npm ERR! format. npx cache path_npx/47357/ ) 1s Classic Node 12.X.Check what you've got:bashnode -vwhach nodeI'd bet on v12.x. Fix by upgrading. If you're on nvm:nvm install 20nvm alias default 20nvm use 20homedrew.brew upgrade nodeIf neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since youswitch between work projects.After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:~/.ĐżŃm/_ĐżŃŃ
reenpipealatest record --disable-audio --ignored-windows "Boosteroid" --retention-davsOne thing worth noting â your Jiminny Laravel work probably runs on a specific Nodeversion via the project's nvmrc or package. json engines field. Upgrading thesystem/default Node shouldn't break that as long as nvm respects the project pin, but worth asanity check (yarn install/ npm install in the app repo after upgrading).*Write a message.Relaunch to updatelK lukas. ProOpus 4.7 AdaptiveCiaudo ic Aand can make mistakas Plesco doublo-chork rocnoncod...
|
NULL
|
-4699632686801267059
|
NULL
|
click
|
ocr
|
NULL
|
FV faVsco.js~?9 masterProjectMáť CLAUDE.md& com FV faVsco.js~?9 masterProjectMáť CLAUDE.md& composer.json0 composer.lock0 dependency-checker.json0 dev.json= ids tytlE infection.json.distM-INSTALL.mdM+ INTERNAL_WEBHOOK_SETUP.mdEjiminny storageM+licenses.mom MakerileŃаŃкаqĐľ-lock. sonE phpstan.neon.dist= phostan-baseline.neon<âş phounit.xmliTe raw sal querv.saML README.mdso sonar-oroiect.oropertiesE test.py<> Untited Diadram.xmlI vetur.config.jsMJ WEBHOOK FILTERING IMPLEMENTATION.moâş ib External Librariesv = Scratches and Consolesv D Database ConsolesVASUA console (EU]A DEAL RISKS [EU]A DI [EU]A EU (EU]v A jiminny@localhostA console ljiminny@localhost]A DI [jiminny@localhost]A HS_local [jiminny@localhost]A SF [iiminny@localhostl& zoho dev liminny@localhostV A PRODA console (PROD]A console_1 [PROD]A DI (PROD]> ĐOAA QAI> A QAI PRODSTAGINGA console [STAGINGIA console 1 [STAGiNG)#uranus STAGINGI>⢠Extensions) M Scratches⢠rli zz May 10-20.34Propnetcllent.onpcetalAcuivity lypeviarropnetservice.onpŠ SyncReŠ GenerateAiActivityTypewsnaredsyncrieldsIrait.onowsyncermrieldstrait.ongC) FieldRepository.phpActivityPlaybookTrait.phpŠ ImportMetadata.phpŠ CrmHelyclass GenerateAiActivityTypeServiceprivate function processAlActivityTypeResponse(arnay Scontent, $activityType = $this->playbookCategoryRepository->findByGrâš$content['ai_activity_type'],sgroupif ($activityType === null) {$this->processingStateManager->setSkipped(sactivity->getldo,state: ActivityProcessingStateManager::STATE_AI_ACTI\sthns->loqger->intolrciHuD⢠' Vetected Al ACtIvITY'activity' => Sactivity->getUuid(),sthis->loalolatadod Sactivity.isDetected: "No')return:Sthis-âşactivityRepository->update(Sactivity, I'playbook_category_id' = $activityType->getId(),151153$this->LogToDatadog(Sactivity,isDetected: IVec1)*$this->processingStateManager->setFinished($activity->getId(),state: ActivityProcessingStateManager::STATE_AI_ACTIVITY.);private function loaToDatadog(Activity Sactivity. string SisDet⢠⢠C0, Chat:= Cowork" Code+ New chat6 Projects8 Artifactse CustomizePinnedO Bu garian cit zenshio aoolication orcDawarich location tracking projectKecents⢠Screenpipe module not found error⢠Interactive language learning throus⢠Recent love experiences⢠Cities visited this year⢠Did I drive today⢠Last visit to Lovech⢠Monthlv spending breakdown and re⢠Swimming visits this vear⢠Screenpipe prune database vacuum e⢠Marking text locations in Screenpipe⢠Updating packages in Laravel⢠Screenpipe data sync and retention n⢠Screenpipe svnc script failing after reO Hubsnot BadRequest headers debug.⢠Monthly expense tracking⢠Exporting transaction data from No⢠@ How much have I spent for groc.⢠April 2026 spending by category⢠Code diff review@ HubSoot rate limit imolementation stiScreenpipe module not found errornode: prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace(internal/modules/cis/loader. is:880.old npm ERR! format. npx cache path_npx/47357/ ) 1s Classic Node 12.X.Check what you've got:bashnode -vwhach nodeI'd bet on v12.x. Fix by upgrading. If you're on nvm:nvm install 20nvm alias default 20nvm use 20homedrew.brew upgrade nodeIf neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since youswitch between work projects.After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:~/.ĐżŃm/_ĐżŃŃ
reenpipealatest record --disable-audio --ignored-windows "Boosteroid" --retention-davsOne thing worth noting â your Jiminny Laravel work probably runs on a specific Nodeversion via the project's nvmrc or package. json engines field. Upgrading thesystem/default Node shouldn't break that as long as nvm respects the project pin, but worth asanity check (yarn install/ npm install in the app repo after upgrading).*Write a message.Relaunch to updatelK lukas. ProOpus 4.7 AdaptiveCiaudo ic Aand can make mistakas Plesco doublo-chork rocnoncod...
|
69107
|
NULL
|
NULL
|
NULL
|
|
69112
|
2478
|
4
|
2026-05-22T07:50:47.680576+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436247680_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6690074890010076349
|
2379516270296931015
|
click
|
hybrid
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
FV faVsco.js~?9 masterProjectMáť CLAUDE.md& composer.json0 composer.lock0 dependency-checker.json0 dev.json= ids tytlE infection.json.distM-INSTALL.mdM+ INTERNAL_WEBHOOK_SETUP.mdEjiminny storageM+licenses.mom MakerileŃаŃкаqĐľ-lock. sonE phpstan.neon.dist= phostan-baseline.neon<âş phounit.xmliTe raw sal querv.saML README.mdso sonar-oroiect.oropertiesE test.py<> Untited Diadram.xmlI vetur.config.jsMJ WEBHOOK FILTERING IMPLEMENTATION.moâş ib External Librariesv = Scratches and Consolesv D Database ConsolesVASUA console (EU]A DEAL RISKS [EU]A DI [EU]A EU (EU]v A jiminny@localhostA console ljiminny@localhost]A DI [jiminny@localhost]A HS_local [jiminny@localhost]A SF [iiminny@localhostl& zoho dev liminny@localhostV A PRODA console (PROD]A console_1 [PROD]A DI (PROD]> ĐOAA QAI> A QAI PRODSTAGINGA console [STAGINGIA console 1 [STAGiNG)#uranus STAGINGI>⢠Extensions) M Scratches⢠rli zz May 10-20.34Propnetcllent.onpcetalAcuivity lypeviarropnetservice.onpŠ SyncReŠ GenerateAiActivityTypewsnaredsyncrieldsIrait.onowsyncermrieldstrait.ongC) FieldRepository.phpActivityPlaybookTrait.phpŠ ImportMetadata.phpŠ CrmHelyclass GenerateAiActivityTypeServiceprivate function processAlActivityTypeResponse(arnay Scontent, $activityType = $this->playbookCategoryRepository->findByGrâš$content['ai_activity_type'],sgroupif ($activityType === null) {$this->processingStateManager->setSkipped(sactivity->getldo,state: ActivityProcessingStateManager::STATE_AI_ACTI\sthns->loqger->intolrciHuD⢠' Vetected Al ACtIvITY'activity' => Sactivity->getUuid(),sthis->loalolatadod Sactivity.isDetected: "No')return:Sthis-âşactivityRepository->update(Sactivity, I'playbook_category_id' = $activityType->getId(),151153$this->LogToDatadog(Sactivity,isDetected: IVec1)*$this->processingStateManager->setFinished($activity->getId(),state: ActivityProcessingStateManager::STATE_AI_ACTIVITY.);private function loaToDatadog(Activity Sactivity. string SisDet⢠⢠C0, Chat:= Cowork" Code+ New chat6 Projects8 Artifactse CustomizePinnedO Bu garian cit zenshio aoolication orcDawarich location tracking projectKecents⢠Screenpipe module not found error⢠Interactive language learning throus⢠Recent love experiences⢠Cities visited this year⢠Did I drive today⢠Last visit to Lovech⢠Monthlv spending breakdown and re⢠Swimming visits this vear⢠Screenpipe prune database vacuum e⢠Marking text locations in Screenpipe⢠Updating packages in Laravel⢠Screenpipe data sync and retention n⢠Screenpipe svnc script failing after reO Hubsnot BadRequest headers debug.⢠Monthly expense tracking⢠Exporting transaction data from No⢠@ How much have I spent for groc.⢠April 2026 spending by category⢠Code diff review@ HubSoot rate limit imolementation stiScreenpipe module not found errornode: prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace(internal/modules/cis/loader. is:880.old npm ERR! format. npx cache path_npx/47357/ ) 1s Classic Node 12.X.Check what you've got:bashnode -vwhach nodeI'd bet on v12.x. Fix by upgrading. If you're on nvm:nvm install 20nvm alias default 20nvm use 20homedrew.brew upgrade nodeIf neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since youswitch between work projects.After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:~/.ĐżŃm/_ĐżŃŃ
reenpipealatest record --disable-audio --ignored-windows "Boosteroid" --retention-davsOne thing worth noting â your Jiminny Laravel work probably runs on a specific Nodeversion via the project's nvmrc or package. json engines field. Upgrading thesystem/default Node shouldn't break that as long as nvm respects the project pin, but worth asanity check (yarn install/ npm install in the app repo after upgrading).*Write a message.Relaunch to updatelK lukas. ProOpus 4.7 AdaptiveCiaudo ic Aand can make mistakas Plesco doublo-chork rocnoncod...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69113
|
2478
|
5
|
2026-05-22T07:50:56.931642+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436256931_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.33710107,"top":0.025538707,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.33710107,"top":0.026336791,"width":0.030917553,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.33710107,"top":0.027134877,"width":0.0026595744,"height":0.012769354}},{"char_start":1,"char_count":14,"bounds":{"left":0.33976063,"top":0.027134877,"width":0.02825798,"height":0.012769354}}],"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.36535904,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.37333778,"top":0.02952913,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.34075797,"top":0.06304868,"width":0.026263298,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.36768618,"top":0.06304868,"width":0.031914894,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.39993352,"top":0.06304868,"width":0.027260639,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"bounds":{"left":0.34009308,"top":0.096568234,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.34009308,"top":0.11731844,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.34009308,"top":0.13806863,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.34009308,"top":0.15881884,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.34208778,"top":0.19872306,"width":0.08510638,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.34009308,"top":0.21548285,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.42054522,"top":0.21867518,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.34009308,"top":0.23703113,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.42054522,"top":0.24022347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.34208778,"top":0.26735833,"width":0.06482713,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.40791222,"top":0.26735833,"width":0.019281914,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"bounds":{"left":0.34009308,"top":0.28411812,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.42054522,"top":0.28731045,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"bounds":{"left":0.34009308,"top":0.3056664,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"bounds":{"left":0.42054522,"top":0.30885875,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"bounds":{"left":0.34009308,"top":0.3272147,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"bounds":{"left":0.42054522,"top":0.33040702,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"bounds":{"left":0.34009308,"top":0.34876296,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"bounds":{"left":0.42054522,"top":0.3519553,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"bounds":{"left":0.34009308,"top":0.37031126,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"bounds":{"left":0.42054522,"top":0.3735036,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"bounds":{"left":0.34009308,"top":0.39185953,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"bounds":{"left":0.42054522,"top":0.39505187,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"bounds":{"left":0.34009308,"top":0.41340783,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"bounds":{"left":0.42054522,"top":0.41660017,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"bounds":{"left":0.34009308,"top":0.4349561,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"bounds":{"left":0.42054522,"top":0.43814844,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"bounds":{"left":0.34009308,"top":0.45650437,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"bounds":{"left":0.42054522,"top":0.45969674,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"bounds":{"left":0.34009308,"top":0.47805268,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"bounds":{"left":0.42054522,"top":0.481245,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"bounds":{"left":0.34009308,"top":0.49960095,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"bounds":{"left":0.42054522,"top":0.5027933,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"bounds":{"left":0.34009308,"top":0.5211492,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"bounds":{"left":0.42054522,"top":0.5243416,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"bounds":{"left":0.34009308,"top":0.54269755,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"bounds":{"left":0.42054522,"top":0.54588985,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"bounds":{"left":0.34009308,"top":0.5642458,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"bounds":{"left":0.42054522,"top":0.5674381,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"bounds":{"left":0.34009308,"top":0.5857941,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"bounds":{"left":0.42054522,"top":0.58898646,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"bounds":{"left":0.34009308,"top":0.60734236,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"bounds":{"left":0.42054522,"top":0.6105347,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"bounds":{"left":0.34009308,"top":0.62889063,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"bounds":{"left":0.42054522,"top":0.632083,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"bounds":{"left":0.34009308,"top":0.65043896,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"bounds":{"left":0.42054522,"top":0.65363127,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"bounds":{"left":0.34009308,"top":0.67198724,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"bounds":{"left":0.42054522,"top":0.67517954,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"bounds":{"left":0.34009308,"top":0.6935355,"width":0.087765954,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"bounds":{"left":0.42054522,"top":0.6967279,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"bounds":{"left":0.34009308,"top":0.9169992,"width":0.087765954,"height":0.04309657},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.04288564,"height":0.013567438},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.92498004,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":17,"bounds":{"left":0.36136967,"top":0.92498004,"width":0.039893616,"height":0.014365523}}],"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.014960106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.35837767,"top":0.94094175,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.36037233,"top":0.94094175,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.34009308,"top":0.9696728,"width":0.0787899,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.41988033,"top":0.9696728,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"bounds":{"left":0.43716756,"top":0.02793296,"width":0.07978723,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.07712766,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.43849733,"top":0.031923383,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":32,"bounds":{"left":0.44148937,"top":0.031923383,"width":0.07413564,"height":0.014365523}}],"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"bounds":{"left":0.51728725,"top":0.02793296,"width":0.0066489363,"height":0.022346368},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"bounds":{"left":0.98537236,"top":0.026336791,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":false,"role_description":"text"}]...
|
-7586346032781338067
|
6718154979323694751
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69114
|
2477
|
5
|
2026-05-22T07:51:00.786818+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436260786_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statements from
sqlite_master
on the source DB at runtime and apply them with
CREATE TABLE IF NOT EXISTS
on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.
Add a schema-drift check before sync.
For each table being synced, compare
PRAGMA table_info()
on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic "X columns but Y values" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.
The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?
Copy
Give positive feedback
Give negative feedback
Retry
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Use voice mode
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recent love experiences","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Recent love experiences","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cities visited this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Cities visited this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Did I drive today","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Did I drive today","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last visit to Lovech","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last visit to Lovech","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly spending breakdown and regular expenses","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly spending breakdown and regular expenses","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Swimming visits this year","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Swimming visits this year","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe prune database vacuum error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe prune database vacuum error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Marking text locations in Screenpipe frames","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Marking text locations in Screenpipe frames","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Updating packages in Laravel","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Updating packages in Laravel","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe data sync and retention management","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe data sync and retention management","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync script failing after recent migrations","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync script failing after recent migrations","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hubspot BadRequest headers debugging","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Hubspot BadRequest headers debugging","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Monthly expense tracking","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Monthly expense tracking","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Exporting transaction data from Notion to finance hub","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Exporting transaction data from Notion to finance hub","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"đŹ How much have I spent for grocâŚ","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for đŹ How much have I spent for grocâŚ","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"April 2026 spending by category","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for April 2026 spending by category","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code diff review","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Code diff review","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit implementation strategy","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Relaunch to update v1.8089.1","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Relaunch to update","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"v1.8089.1","depth":16,"bounds":{"left":0.18402778,"top":0.0,"width":0.03125,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18402778,"top":0.0,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":8,"bounds":{"left":0.18819444,"top":0.0,"width":0.027083334,"height":0.015555556}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.14583333,"top":0.0,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.3125,"top":0.0,"width":0.016666668,"height":0.026666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error, rename chat","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe module not found error","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude finished the response","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node scripts/postinstall.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:21","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: That's not a Screenpipe bug â it's your Node.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 5s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 5s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"That's not a Screenpipe bug â it's your Node.js version. The","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:child_process","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"syntax (the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node:","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"internal/modules/cjs/loader.js:880","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", old","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm ERR!","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"format, npx cache path","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"_npx/47357/","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") is classic Node 12.x.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check what you've got:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-v","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"which","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"I'd bet on v12.x. Fix by upgrading. If you're on nvm:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"install","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"alias","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"default","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nvm use","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If Homebrew:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"brew upgrade","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"node","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"rm","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-rf ~/.npm/_npx","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npx screenpipe@latest record --disable-audio --ignored-windows","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"Boosteroid\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--retention-days","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".nvmrc","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"yarn install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"npm install","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in the app repo after upgrading).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20\n[2026-05-22 10:31:19] ========================================\n[+00m00s] âś Preflight checks\n Source DB: OK (4.0G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: exists (7.9G)\n Data dir: OK (170 files, 231M)\n[+00m06s] âś Counting source rows for 2026-05-20\n frames: 5860\n elements: 588259\n ui_events: 4035\n ocr_text: 1351\n meetings: 0\n audio_chunks: 38\n audio_transcriptions: 234\n[+00m06s] âś Initialising tables, indexes, FTS\n creating tables â 0m01s\n creating indexes â 0m00s\n creating FTS tables â 0m00s\n[+00m07s] âś Syncing vision data for 2026-05-20\n video_chunks â 0m01s\n frames (5860 rows) â 1m06s\n ocr_text (1351 rows) â 0m32s\n ui_events (4035 rows) â 0m01s\n elements (588259 rows) â 0m38s\n meetings (0 rows) â 0m00s\n[+02m25s] âś Syncing audio data for 2026-05-20\n audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:35","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Schema drift.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Schema drift.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thought for 8s","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought for 8s","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Diagnose first:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_transcriptions\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speakers\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema speaker_embeddings\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_tags\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# NAS schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /Volumes/screenpipe/archive.db","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".schema audio_chunks\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# âŚand the rest","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Compare the two. You'll likely see new columns on every audio table.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"--disable-audio","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"), the cleanest fix is to drop and recreate them from the current source schema.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Do this over SSH on the NAS, not over SMB","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"â schema changes + WAL over SMB is how you corrupt things:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# Confirm there's no audio data worth keeping","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# If both are 0 (or close to it), drop them","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_tags;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_transcriptions;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speaker_embeddings;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS audio_chunks;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"DROP TABLE IF EXISTS speakers;","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Then let your sync script's \"creating tables\" step recreate them from the current schema on the next run â assuming that step pulls","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"If there","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"is","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio data on the NAS you want to preserve,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN <name> <type>","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_chunks\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_transcriptions\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speakers\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema speaker_embeddings\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite \".schema audio_tags\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db \".schema audio_chunks\"\nCREATE TABLE audio_chunks(\n id INT,\n file_path TEXT,\n timestamp NUM,\n sync_id TEXT,\n machine_id TEXT,\n synced_at NUM,\n evicted_at NUM\n);\nCREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:45","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":21,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.","depth":22,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Diagnosed database path mismatch and schema discrepancy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diagnosed database path mismatch and schema discrepancy","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Something doesn't add up â the schema queries on the source returned","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"nothing","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", meaning those tables don't exist in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"So either the sync script is reading a different source DB than","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data/db.sqlite","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Verify what's actually there now:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 ~/.screenpipe/data/db.sqlite","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\".tables\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh ~/.screenpipe/data/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Also confirm what the sync script points to â check the path inside","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-E","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"(SOURCE|source.*db|sqlite)\"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/screenpipe_sync.sh","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"head","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"And path-wise: your NAS session is in","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"but my memory had","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/Test/screenpipe","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":". Has it moved, or are there two?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"# On NAS","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-lh /volume1/screenpipe/ /volume1/Test/screenpipe/","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/dev/null","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Once paths are sorted, the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"important","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"actual","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"source DB once you've found it):","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"sql","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- on NAS, after confirming source schema","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TABLE","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ADD","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"COLUMN","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"col_name","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"<","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"type","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":">","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":";","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"-- Ă however many are missing","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"But we can't write those","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ALTER","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"statements until we see the real source schema. Find the right source DB first, then run","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_chunks","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"You said: It is just ~/.","depth":20,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"You said: It is just ~/.","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Pasted Text, pasted, 108 lines","depth":21,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \".tables\" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"PASTED","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10:49","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Claude responded: Got it â paths are ~/.","depth":21,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Claude responded: Got it â paths are ~/.","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Identified schema mismatches and formulated database migration strategy","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Identified schema mismatches and formulated database migration strategy","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Got it â paths are","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(not under","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") and","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Now I can diff.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"â NAS is missing 4 columns. On the NAS via SSH:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-i ~/.ssh/nas-dxp4800 lukaskovalik@192.168.0.242","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_transcriptions","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"especially looks like it grew several columns (","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"start_time","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"end_time","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"text_length","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"redacted_at","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", etc.), plus there are now whole new tables on source (","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_runs","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"diarization_segments","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"speaker_identity_evidence","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"meeting_transcript_segments","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") that don't exist on the NAS at all.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy to clipboard","depth":27,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"bash","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Still on NAS","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"<<","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"'SQL'","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_transcriptions","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speakers","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_embeddings","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema audio_tags","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_runs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema diarization_segments","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema speaker_identity_evidence","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".schema meeting_transcript_segments","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SQL","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Paste the output and I'll diff all of them against the source.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Make the sync script source-driven for table creation.","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Pull","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"statements from","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sqlite_master","depth":27,"bounds":{"left":0.7347222,"top":0.0,"width":0.07847222,"height":0.02111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the source DB at runtime and apply them with","depth":26,"bounds":{"left":0.8159722,"top":0.0,"width":0.18402779,"height":0.022222223},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.8159722,"top":0.0,"width":0.0020833334,"height":0.023333333}},{"char_start":1,"char_count":46,"bounds":{"left":0.81805557,"top":0.0,"width":0.18194443,"height":0.023333333}}],"role_description":"text"},{"role":"AXStaticText","text":"CREATE TABLE IF NOT EXISTS","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.04777778},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.04888889},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7673611,"top":0.0,"width":0.0027777778,"height":0.023333333}},{"char_start":1,"char_count":135,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.05}}],"role_description":"text"},{"role":"AXStaticText","text":"Add a schema-drift check before sync.","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.20208333,"height":0.01},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"For each table being synced, compare","depth":26,"bounds":{"left":0.90625,"top":0.0,"width":0.09375,"height":0.01},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"PRAGMA table_info()","depth":27,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.008888889},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic \"X columns but Y values\" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.","depth":26,"bounds":{"left":0.7048611,"top":0.0,"width":0.2951389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?","depth":25,"bounds":{"left":0.6826389,"top":0.0,"width":0.31736112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.6770833,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give positive feedback","depth":22,"bounds":{"left":0.69930553,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give negative feedback","depth":22,"bounds":{"left":0.72152776,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Retry","depth":22,"bounds":{"left":0.74375,"top":0.0,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Scroll to bottom","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Write a messageâŚ","depth":25,"on_screen":true,"value":"Write a messageâŚ","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Write a messageâŚ","depth":28,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":27,"bounds":{"left":0.67777777,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Opus 4.7 Adaptive","depth":26,"bounds":{"left":1.0,"top":0.0,"width":-0.024305582,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.03125,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Adaptive","depth":28,"bounds":{"left":1.0,"top":0.0,"width":-0.074305534,"height":0.018888889},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Settings","depth":26,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Press and hold to record","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Use voice mode","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":22,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Claude is AI and can make mistakes. Please double-check responses.","depth":23,"bounds":{"left":0.7986111,"top":0.0,"width":0.2013889,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7986111,"top":0.0,"width":0.00625,"height":0.016666668}},{"char_start":1,"char_count":65,"bounds":{"left":0.8048611,"top":0.0,"width":0.19513887,"height":0.016666668}}],"role_description":"text"}]...
|
6756247579152148537
|
2106487085691850271
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
Recent love experiences
More options for Recent love experiences
Cities visited this year
More options for Cities visited this year
Did I drive today
More options for Did I drive today
Last visit to Lovech
More options for Last visit to Lovech
Monthly spending breakdown and regular expenses
More options for Monthly spending breakdown and regular expenses
Swimming visits this year
More options for Swimming visits this year
Screenpipe prune database vacuum error
More options for Screenpipe prune database vacuum error
Marking text locations in Screenpipe frames
More options for Marking text locations in Screenpipe frames
Updating packages in Laravel
More options for Updating packages in Laravel
Screenpipe data sync and retention management
More options for Screenpipe data sync and retention management
Screenpipe sync script failing after recent migrations
More options for Screenpipe sync script failing after recent migrations
Hubspot BadRequest headers debugging
More options for Hubspot BadRequest headers debugging
Monthly expense tracking
More options for Monthly expense tracking
Exporting transaction data from Notion to finance hub
More options for Exporting transaction data from Notion to finance hub
đŹ How much have I spent for grocâŚ
More options for đŹ How much have I spent for grocâŚ
April 2026 spending by category
More options for April 2026 spending by category
Code diff review
More options for Code diff review
HubSpot rate limit implementation strategy
More options for HubSpot rate limit implementation strategy
Relaunch to update v1.8089.1
Relaunch to update
v1.8089.1
Lukas Pro
Get apps and extensions
Screenpipe module not found error, rename chat
Screenpipe module not found error
More options for Screenpipe module not found error
Share chat
Claude finished the response
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
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/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall:
node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1 why is there error in screenpipe
Show more
10:21
Retry
Edit
Copy
Claude responded: That's not a Screenpipe bug â it's your Node.
Claude responded: That's not a Screenpipe bug â it's your Node.
Thought for 5s
Thought for 5s
That's not a Screenpipe bug â it's your Node.js version. The
node:child_process
syntax (the
node:
prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace (
internal/modules/cjs/loader.js:880
, old
npm ERR!
format, npx cache path
_npx/47357/
) is classic Node 12.x.
Check what you've got:
Copy to clipboard
bash
node
-v
which
node
I'd bet on v12.x. Fix by upgrading. If you're on nvm:
Copy to clipboard
bash
nvm
install
20
nvm
alias
default
20
nvm use
20
If Homebrew:
Copy to clipboard
bash
brew upgrade
node
If neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since you switch between work projects.
After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:
Copy to clipboard
bash
rm
-rf ~/.npm/_npx
npx screenpipe@latest record --disable-audio --ignored-windows
"Boosteroid"
--retention-days
7
One thing worth noting â your Jiminny Laravel work probably runs on a specific Node version via the project's
.nvmrc
or
package.json
engines field. Upgrading the system/default Node shouldn't break that as long as nvm respects the project pin, but worth a sanity check (
yarn install
/
npm install
in the app repo after upgrading).
Copy
Give positive feedback
Give negative feedback
Retry
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
You said: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-20
[2026-05-22 10:31:19] ========================================
[2026-05-22 10:31:19] Screenpipe sync starting for: 2026-05-20
[2026-05-22 10:31:19] ========================================
[+00m00s] âś Preflight checks
Source DB: OK (4.0G)
NAS mount: OK /Volumes/screenpipe
Archive DB: exists (7.9G)
Data dir: OK (170 files, 231M)
[+00m06s] âś Counting source rows for 2026-05-20
frames: 5860
elements: 588259
ui_events: 4035
ocr_text: 1351
meetings: 0
audio_chunks: 38
audio_transcriptions: 234
[+00m06s] âś Initialising tables, indexes, FTS
creating tables â 0m01s
creating indexes â 0m00s
creating FTS tables â 0m00s
[+00m07s] âś Syncing vision data for 2026-05-20
video_chunks â 0m01s
frames (5860 rows) â 1m06s
ocr_text (1351 rows) â 0m32s
ui_events (4035 rows) â 0m01s
elements (588259 rows) â 0m38s
meetings (0 rows) â 0m00s
[+02m25s] âś Syncing audio data for 2026-05-20
audio_chunks (38 rows) â Parse error near line 3: table nas.audio_chunks has 7 columns but 11 values were supplied
Show more
10:35
Retry
Edit
Copy
Claude responded: Schema drift.
Claude responded: Schema drift.
Thought for 8s
Thought for 8s
Schema drift. The audio_chunks table on the NAS was created when you scoped the audio tables in anticipation â but the screenpipe version you just reinstalled (after the Node upgrade) has a newer schema with 11 columns instead of 7. The INSERT statement is generating column lists from the source, but the destination still has the old shape.
Diagnose first:
Copy to clipboard
bash
# Source schema
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_chunks"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_transcriptions"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speakers"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema speaker_embeddings"
sqlite3 ~/.screenpipe/data/db.sqlite
".schema audio_tags"
# NAS schema
sqlite3 /Volumes/screenpipe/archive.db
".schema audio_chunks"
# âŚand the rest
Compare the two. You'll likely see new columns on every audio table.
Since the audio tables on the NAS are effectively empty (you only just started capturing audio â the previous days were
--disable-audio
), the cleanest fix is to drop and recreate them from the current source schema.
Do this over SSH on the NAS, not over SMB
â schema changes + WAL over SMB is how you corrupt things:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/Test/screenpipe
# Confirm there's no audio data worth keeping
sqlite3 archive.db
"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
# If both are 0 (or close to it), drop them
sqlite3 archive.db
<<
'SQL'
DROP TABLE IF EXISTS audio_tags;
DROP TABLE IF EXISTS audio_transcriptions;
DROP TABLE IF EXISTS speaker_embeddings;
DROP TABLE IF EXISTS audio_chunks;
DROP TABLE IF EXISTS speakers;
SQL
Then let your sync script's "creating tables" step recreate them from the current schema on the next run â assuming that step pulls
CREATE TABLE
statements from the source DB, which is the whole point of how you set it up. If it has the audio schemas hardcoded, you'll need to update the script.
If there
is
audio data on the NAS you want to preserve,
ALTER TABLE audio_chunks ADD COLUMN <name> <type>
for each missing column instead â SQLite only allows adding columns, not removing or reordering, so this only works if the new schema is a superset. Compare carefully before choosing.
After fixing, re-run the sync for 2026-05-20. And â heads up â if your sync script's table-creation step has the audio schemas baked in rather than reading them from source at runtime, this same break will happen on any future screenpipe upgrade. Worth making that step source-driven if it isn't already.
Copy
Give positive feedback
Give negative feedback
Retry
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
You said: ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.
ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_chunks"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_transcriptions"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speakers"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema speaker_embeddings"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 ~/.screenpipe/data/db.sqlite ".schema audio_tags"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ sqlite3 /Volumes/screenpipe/archive.db ".schema audio_chunks"
CREATE TABLE audio_chunks(
id INT,
file_path TEXT,
timestamp NUM,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
evicted_at NUM
);
CREATE INDEX idx_audio_chunks_timestamp ON audio_chunks(timestamp); Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Show more
10:45
Retry
Edit
Copy
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Claude responded: Something doesn't add up â the schema queries on the source returned nothing, meaning those tables don't exist in ~/.
Diagnosed database path mismatch and schema discrepancy
Diagnosed database path mismatch and schema discrepancy
Something doesn't add up â the schema queries on the source returned
nothing
, meaning those tables don't exist in
~/.screenpipe/data/db.sqlite
. But the sync log earlier counted 38 audio_chunks and 234 audio_transcriptions from the source. And the NAS already has 5908 + 1883 rows of real audio data, not empty scoped tables.
So either the sync script is reading a different source DB than
~/.screenpipe/data/db.sqlite
, or the source DB got wiped/recreated after the sync attempt (likely after you reinstalled screenpipe with the new Node).
Verify what's actually there now:
Copy to clipboard
bash
sqlite3 ~/.screenpipe/data/db.sqlite
".tables"
ls
-lh ~/.screenpipe/data/
Also confirm what the sync script points to â check the path inside
~/.screenpipe/scripts/screenpipe_sync.sh
:
Copy to clipboard
bash
grep
-E
"(SOURCE|source.*db|sqlite)"
~/.screenpipe/scripts/screenpipe_sync.sh
|
head
And path-wise: your NAS session is in
/volume1/screenpipe
but my memory had
/volume1/Test/screenpipe
. Has it moved, or are there two?
Copy to clipboard
bash
# On NAS
ls
-lh /volume1/screenpipe/ /volume1/Test/screenpipe/
2
>
/dev/null
Once paths are sorted, the
important
thing: don't drop the NAS audio tables â they have 5908 chunks and 1883 transcriptions of real data. ALTER, don't drop.
The schema diff to add (assuming the source has all 11 columns the INSERT was generating â we need to confirm from the
actual
source DB once you've found it):
Copy to clipboard
sql
-- on NAS, after confirming source schema
ALTER
TABLE
audio_chunks
ADD
COLUMN
<
col_name
>
<
type
>
;
-- Ă however many are missing
But we can't write those
ALTER
statements until we see the real source schema. Find the right source DB first, then run
.schema audio_chunks
on it, paste both schemas, and I'll diff them and give you the exact ALTER statements for all five audio tables.
Copy
Give positive feedback
Give negative feedback
Retry
You said: It is just ~/.
You said: It is just ~/.
Pasted Text, pasted, 108 lines
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite ".tables" _sqlx_migrations meetings audio_chunks memories audio_tags memories_fts audio_transcriptions memories_fts_config audio_transcri
PASTED
It is just ~/.screenpipe/db.sqlite without data. In NAS it is /volume1/screenpipe
10:49
Retry
Edit
Copy
Claude responded: Got it â paths are ~/.
Claude responded: Got it â paths are ~/.
Identified schema mismatches and formulated database migration strategy
Identified schema mismatches and formulated database migration strategy
Got it â paths are
~/.screenpipe/db.sqlite
(not under
data/
) and
/volume1/screenpipe/
on the NAS. Now I can diff.
audio_chunks
â NAS is missing 4 columns. On the NAS via SSH:
Copy to clipboard
bash
ssh
-i ~/.ssh/nas-dxp4800 lukaskovalik@[IP_ADDRESS]
cd
/volume1/screenpipe
sqlite3 archive.db
<<
'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
That'll unblock today's audio sync. But the other audio tables almost certainly have the same drift â
audio_transcriptions
especially looks like it grew several columns (
start_time
,
end_time
,
text_length
,
redacted_at
, etc.), plus there are now whole new tables on source (
diarization_runs
,
diarization_segments
,
speaker_identity_evidence
,
meeting_transcript_segments
) that don't exist on the NAS at all.
Dump the rest of the NAS audio schemas so I can give you a full set of ALTERs in one go:
Copy to clipboard
bash
# Still on NAS
sqlite3 archive.db
<<
'SQL'
.schema audio_transcriptions
.schema speakers
.schema speaker_embeddings
.schema audio_tags
.schema diarization_runs
.schema diarization_segments
.schema speaker_identity_evidence
.schema meeting_transcript_segments
SQL
Paste the output and I'll diff all of them against the source.
Bigger picture â this is the second time schema drift has bitten you, and audio is going to keep evolving (diarization, speaker identification look new). Two things worth doing:
Make the sync script source-driven for table creation.
Pull
CREATE TABLE
statements from
sqlite_master
on the source DB at runtime and apply them with
CREATE TABLE IF NOT EXISTS
on the NAS. Same for indexes and triggers. That way new tables (like the diarization ones) just appear on the NAS without manual ALTERs.
Add a schema-drift check before sync.
For each table being synced, compare
PRAGMA table_info()
on source vs NAS; if columns differ, fail loudly with the diff instead of producing the cryptic "X columns but Y values" SQLite error. Or auto-ALTER missing columns when the drift is a pure superset (source has new columns that NAS lacks), which is the common case for an evolving upstream schema.
The second one is the more interesting fix because it handles drift automatically as long as it's additive â which is overwhelmingly what app schemas do. Want me to draft the bash/sqlite logic for it?
Copy
Give positive feedback
Give negative feedback
Retry
Scroll to bottom
Write a messageâŚ
Write a messageâŚ
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Settings
Press and hold to record
Use voice mode
Claude is AI and can make mistakes. Please double-check responses.
Claude is AI and can make mistakes. Please double-check responses....
|
69110
|
NULL
|
NULL
|
NULL
|
|
69115
|
2477
|
6
|
2026-05-22T07:51:07.875619+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436267875_m1.jpg...
|
Finder
|
screenpipe
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
NULL
|
-1390722132940296198
|
NULL
|
app_switch
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69116
|
2477
|
7
|
2026-05-22T07:51:10.081111+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436270081_m1.jpg...
|
Slack
|
* releases (Channel) - Jiminny Inc - 2 new items - * releases (Channel) - Jiminny Inc - 2 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
NULL
|
-1390722132940296198
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
69115
|
NULL
|
NULL
|
NULL
|
|
69117
|
2477
|
8
|
2026-05-22T07:51:12.220854+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436272220_m1.jpg...
|
iTerm2
|
ssh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
ssh
Close Tab
âĽâ1
ssh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'\nALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'\n CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));\nALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;\nALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;\nALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;\nSQL\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","depth":4,"on_screen":true,"value":"Last login: Wed May 20 19:33:03 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nnas\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 20 21:47 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:48 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll\ntotal 56K\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 .\ndrwxr-xr-x 1 root root 260 May 9 17:55 ..\ndrwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard\ndrwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack\ndrwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db\ndrwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy\ndrwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf\ndrwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth\ndrwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel\ndrwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden\ndrwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich\ndrwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader\ndrwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance\ndrwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app\ndrwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector\ndrwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea\ndrwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health\ndrwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr\ndrwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst\ndrwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich\ndrwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht\ndrwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice\ndrwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden\ndrwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger\ndrwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb\ndrwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector\ndrwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n\ndrwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm\ndrwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth\ndrwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian\ndrwxr-xr-x 1 root root 60 Mar 7 20:56 ollama\ndrwxr-xr-x 1 911 911 128 Jul 28 2025 openttd\ndrwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client\ndrwxr-xr-x 1 root root 58 May 21 19:49 open-webui\ndrwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator\ndrwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app\ndrwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack\ndrwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx\ndrwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger\ndrwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log\ndrwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system\ndrwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth\ndrwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer\ndrwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb\ndrwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app\ndrwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm\ndrwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain\ndrwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static\ndrwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling\ndrwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing\ndrwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale\ndrwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger\ndrwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app\ndrwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp\ndrwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack\ndrwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree\ndrwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium\ndrwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist\ndrwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty\ndrwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma\ndrwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube\n-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store\n-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll\ntotal 0\ndrwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .\ndrwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\necho \"ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE\" > .env\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media\ncp /path/to/your/episode.mkv media/\ncp: cannot stat '/path/to/your/episode.mkv': No such file or directory\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth\ndocker compose build\n./run.sh Sto.Para.5.S01E01.mkv\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head \"http://%2Fvar%2Frun%2Fdocker.sock/_ping\": dial unix /var/run/docker.sock: connect: permission denied\npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 84.3s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s\n => [lang-subs internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s\n => => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s\n => => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s\n => => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s\n => => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s\n => => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s\n => => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s\n => => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s\n => => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s\n => => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s\n => => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s\n => => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s\n => => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s\n => [lang-subs internal] load build context 0.2s\n => => transferring context: 14.80kB 0.0s\n => [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s\n => [lang-subs 3/6] WORKDIR /app 0.2s \n => [lang-subs 4/6] COPY requirements.txt . 0.2s \n => [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s \n => [lang-subs 6/6] COPY lang_subs.py . 0.2s \n => [lang-subs] exporting to image 1.8s \n => => exporting layers 1.8s \n => => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s \n => => naming to docker.io/library/polygloth-lang-subs 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv \npermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpolygloth%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[+] Creating 1/1\n â Network polygloth_default Created 0.2s \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n^C^C^C^CTraceback (most recent call last):\n File \"/app/lang_subs.py\", line 353, in <module>\n main()\n File \"/app/lang_subs.py\", line 337, in main\n segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/lang_subs.py\", line 98, in transcribe\n for i, seg in enumerate(raw_segs)\n ^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1851, in restore_speech_timestamps\n for segment in segments:\n ^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1213, in generate_segments\n ) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py\", line 1446, in generate_with_fallback\n result = self.model.generate(\n ^^^^^^^^^^^^^^^^^^^^\nKeyboardInterrupt\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv\n[sudo] password for Adm1n: \nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n [cache] audio.wav\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\nConnection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth\nsudo docker compose build\n[sudo] password for Adm1n: \n[+] Building 1.7s (11/11) FINISHED docker:default\n => [lang-subs internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 419B 0.0s\n => [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s\n => [lang-subs internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s\n => [lang-subs internal] load build context 0.0s\n => => transferring context: 17.29kB 0.0s\n => CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s\n => CACHED [lang-subs 3/6] WORKDIR /app 0.0s\n => CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s\n => CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [lang-subs 6/6] COPY lang_subs.py . 0.2s\n => [lang-subs] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s\n => => naming to docker.io/library/polygloth-lang-subs 0.0s\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300\nVideo: Sto.Para.5.S01E01.mkv\nCache: /media/.lang_subs_cache/Sto.Para.5.S01E01\n\n[1/4] Extracting audio...\n Extracting audio (first 300s)...\n\n[2/4] Transcribing...\n Transcribing with large-v3...\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n 6 segments\n\n[3/4] Annotating with Claude...\n Segments 0â5...\n\n[4/4] Rendering outputs...\n Written: /media/Sto.Para.5.S01E01.ass\n Written: /media/Sto.Para.5.S01E01.study.md\n\nDone.\nAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to 192.168.0.242 closed by remote host.\nConnection to 192.168.0.242 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas\nAdm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db \"SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;\"\n5908\n1883\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'\nALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'\n CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));\nALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;\nALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;\nALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;\nSQL\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"ssh","depth":1,"bounds":{"left":0.4888889,"top":0.033333335,"width":0.01875,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2928782650161223485
|
-4826995754647890652
|
click
|
accessibility
|
NULL
|
Last login: Wed May 20 19:33:03 on ttys010
Poetry Last login: Wed May 20 19:33:03 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
nas
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 20 21:47 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:48 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ mkdir polygloth
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ ll
total 56K
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 .
drwxr-xr-x 1 root root 260 May 9 17:55 ..
drwxrwxrwx+ 1 Adm1n admin 20 Jul 28 2025 adguard
drwxrwxrwx+ 1 Adm1n admin 66 Apr 5 13:14 ai-stack
drwxrwxrwx+ 1 Adm1n admin 12 Aug 1 2025 app-db
drwxrwxr-x 1 appflowy users 138 Dec 14 18:21 appflowy
drwxrwxrwx+ 1 Adm1n admin 72 May 20 07:53 audiobookshelf
drwxrwxrwx+ 1 Adm1n admin 128 Mar 30 19:52 auth
drwxrwxrwx+ 1 Adm1n admin 166 May 21 19:46 beszel
drwxrwxrwx+ 1 Adm1n admin 38 Jun 16 2025 bitwarden
drwxrwxrwx+ 1 Adm1n admin 36 Aug 25 2025 dawarich
drwxrwxrwx+ 1 Adm1n admin 322 Aug 15 2025 dsk-uploader
drwxrwxrwx+ 1 Adm1n admin 22 May 10 15:21 finance
drwxrwxrwx+ 1 Adm1n admin 92 Aug 19 2025 flask-app
drwxrwxrwx+ 1 Adm1n admin 308 Oct 7 2025 garmin-connector
drwxrwxrwx+ 1 Adm1n admin 12 Jul 18 2025 gitea
drwxrwxrwx+ 1 Adm1n admin 0 Feb 16 19:30 health
drwxrwxrwx+ 1 Adm1n admin 220 Feb 16 21:09 health-tracker
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 homarr
drwxrwxrwx+ 1 Adm1n admin 146 Mar 7 20:46 hst
drwxrwxrwx+ 1 Adm1n admin 66 Aug 31 2025 immich
drwxrwx--- 1 Adm1n Media 30 Jun 15 2025 jellyfinht
drwxrwxrwx+ 1 Adm1n admin 20 Aug 31 2025 kavita
drwxrwxrwx+ 1 Adm1n admin 0 Oct 12 2025 libreoffice
drwxrwxrwx+ 1 Adm1n admin 12 Dec 13 21:12 linkwarden
drwxrwxrwx+ 1 Adm1n admin 274 May 18 21:56 location-logger
drwxrwxrwx+ 1 dnsmasq systemd-journal 432 Aug 27 2025 mariadb
drwxrwxrwx+ 1 Adm1n admin 122 Apr 26 19:03 meeting-detector
drwxrwxrwx+ 1 Adm1n admin 0 Aug 15 2025 mindfulmama
drwxrwxrwx+ 1 Adm1n admin 22 Jul 16 2025 n8n
drwxrwxrwx+ 1 Adm1n admin 176 Feb 20 17:33 notifier-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 15 2025 npm
drwxrwxrwx+ 1 Adm1n admin 306 Mar 29 17:34 oauth
drwxrwxrwx+ 1 Adm1n admin 92 Jun 15 2025 obsidian
drwxr-xr-x 1 root root 60 Mar 7 20:56 ollama
drwxr-xr-x 1 911 911 128 Jul 28 2025 openttd
drwxrwxrwx+ 1 Adm1n admin 234 Mar 7 16:30 openvpn-client
drwxr-xr-x 1 root root 58 May 21 19:49 open-webui
drwxrwxrwx+ 1 Adm1n admin 134 Dec 31 13:13 orchestrator
drwxrwxrwx+ 1 Adm1n admin 406 Mar 25 20:39 outfit-app
drwxrwxrwx+ 1 Adm1n admin 90 Aug 28 2025 owntracks-stack
drwxrwxrwx+ 1 Adm1n admin 156 Mar 10 20:51 paperlessngx
drwxrwxrwx+ 1 Adm1n admin 162 May 8 20:36 payments-logger
drwxrwxrwx+ 1 Adm1n admin 0 Sep 28 2025 personal-log
drwxrwxrwx+ 1 Adm1n admin 616 Mar 7 20:46 personal-log-system
drwxrwxrwx+ 1 Adm1n admin 26 Feb 19 19:41 player
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 polygloth
drwxrwxrwx+ 1 Adm1n admin 202 Feb 23 21:35 portainer
drwxrwxrwx+ 1 dnsmasq admin 484 Dec 4 19:31 portnotedb
drwxrwxrwx+ 1 Adm1n admin 140 Apr 4 15:49 reminders-app
drwxrwxrwx+ 1 Adm1n admin 60 Oct 29 2025 romm
drwxrwxrwx+ 1 Adm1n admin 108 Feb 23 20:15 second-brain
drwxrwxrwx+ 1 Adm1n admin 10 Dec 30 17:16 static
drwxrwxrwx+ 1 Adm1n admin 28 Jun 19 2025 stirling
drwxrwxrwx+ 1 Adm1n admin 86 Oct 25 2025 syncthing
drwxrwxrwx+ 1 root root 56 Jun 5 2025 tailscale
drwxrwxrwx+ 1 Adm1n admin 186 Sep 23 2025 temp-logger
drwxrwxrwx+ 1 Adm1n admin 122 Jul 19 2025 test-app
drwxrwxrwx+ 1 Adm1n admin 52 Jun 14 2025 tmp
drwxrwxrwx+ 1 Adm1n admin 36 Jul 13 2025 torrent-stack
drwxrwxrwx+ 1 Adm1n admin 48 Dec 19 10:58 tree
drwxrwxrwx+ 1 Adm1n admin 0 Oct 31 2025 trilium
drwxrwxrwx+ 1 Adm1n admin 34 Dec 3 21:18 tubearchivist
drwxrwxrwx+ 1 Adm1n admin 22 Jul 25 2025 twenty
drwxrwxrwx+ 1 Adm1n admin 0 Nov 2 2025 uptimekuma
drwxrwxrwx+ 1 Adm1n admin 30 Dec 7 17:30 ytptube
-rwxrwxrwx+ 1 Adm1n admin 11K Oct 29 2025 .DS_Store
-rwxrwxrwx 1 Adm1n admin 13K May 20 21:47 SERVICES.md
Adm1n@DXP4800PLUS-B5F8:/volume2/docker$ cd polygloth/
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ll
total 0
drwxrwxrwx+ 1 Adm1n admin 0 May 21 19:49 .
drwxrwxrwx+ 1 root root 1.2K May 21 19:49 ..
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
echo "[ENV_SECRET] > .env
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ mkdir -p media
cp /path/to/your/episode.mkv media/
cp: cannot stat '/path/to/your/episode.mkv': No such file or directory
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ cd /volume2/docker/polygloth
docker compose build
./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo docker compose build
[sudo] password for Adm1n:
[+] Building 84.3s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 1.5s
=> [lang-subs internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 4.4s
=> => resolve docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.1s
=> => sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 10.37kB / 10.37kB 0.0s
=> => sha256:866411c135b507754efdf2fda51484be4d3d7d5173ed53cd083106132e710904 1.75kB / 1.75kB 0.0s
=> => sha256:e1054bc5a9f2ddbdd6d0247997c45f2201a4e9b4c6f824b247064a558e877070 5.65kB / 5.65kB 0.0s
=> => sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 29.78MB / 29.78MB 1.4s
=> => sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 12.11MB / 12.11MB 0.6s
=> => sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 1.29MB / 1.29MB 0.6s
=> => sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 250B / 250B 0.8s
=> => extracting sha256:5b4d6ff92fc4e14e911b7753c954fac965d48c40fe1075758d284148ccace970 1.3s
=> => extracting sha256:4a9dde5cdde190bfa0a3ab17863a083e66ea9636b157638c315357dfa476ba76 0.1s
=> => extracting sha256:e113665b194b20ba7e9093ef6a1a38edbaebbfb983c00e379a45a142a95a86ef 0.7s
=> => extracting sha256:07342fe545e640a2c4960e97ffe33a301cd8e61e0c4d4307d7ac66b6b8a9eb2d 0.0s
=> [lang-subs internal] load build context 0.2s
=> => transferring context: 14.80kB 0.0s
=> [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 56.3s
=> [lang-subs 3/6] WORKDIR /app 0.2s
=> [lang-subs 4/6] COPY requirements.txt . 0.2s
=> [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 19.1s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 1.8s
=> => exporting layers 1.8s
=> => writing image sha256:cf829e2bf1e1cab1cd63c33a3ed814cf8c0013659cf47d90270b913a8b89009d 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ ./run.sh Sto.Para.5.S01E01.mkv
permission denied while trying to connect to the Docker daemon socket at [URL_WITH_CREDENTIALS] sudo ./run.sh Sto.Para.5.S01E01.mkv
[+] Creating 1/1
â Network polygloth_default Created 0.2s
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
^C^C^C^CTraceback (most recent call last):
File "/app/lang_subs.py", line 353, in <module>
main()
File "/app/lang_subs.py", line 337, in main
segments = transcribe(audio_path, cache_dir, args.whisper_model, args.source_lang)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lang_subs.py", line 98, in transcribe
for i, seg in enumerate(raw_segs)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1851, in restore_speech_timestamps
for segment in segments:
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1213, in generate_segments
) = self.generate_with_fallback(encoder_output, prompt, tokenizer, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/faster_whisper/transcribe.py", line 1446, in generate_with_fallback
result = self.model.generate(
^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv
[sudo] password for Adm1n:
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
[cache] audio.wav
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume2/docker/polygloth
sudo docker compose build
[sudo] password for Adm1n:
[+] Building 1.7s (11/11) FINISHED docker:default
=> [lang-subs internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 419B 0.0s
=> [lang-subs internal] load metadata for docker.io/library/python:3.12-slim 0.9s
=> [lang-subs internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 0.0s
=> [lang-subs internal] load build context 0.0s
=> => transferring context: 17.29kB 0.0s
=> CACHED [lang-subs 2/6] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [lang-subs 3/6] WORKDIR /app 0.0s
=> CACHED [lang-subs 4/6] COPY requirements.txt . 0.0s
=> CACHED [lang-subs 5/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [lang-subs 6/6] COPY lang_subs.py . 0.2s
=> [lang-subs] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83 0.0s
=> => naming to docker.io/library/polygloth-lang-subs 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ sudo ./run.sh Sto.Para.5.S01E01.mkv --duration 300
Video: Sto.Para.5.S01E01.mkv
Cache: /media/.lang_subs_cache/Sto.Para.5.S01E01
[1/4] Extracting audio...
Extracting audio (first 300s)...
[2/4] Transcribing...
Transcribing with large-v3...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
6 segments
[3/4] Annotating with Claude...
Segments 0â5...
[4/4] Rendering outputs...
Written: /media/Sto.Para.5.S01E01.ass
Written: /media/Sto.Para.5.S01E01.study.md
Done.
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ cd /volume1/screenpipe
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db "SELECT COUNT(*) FROM audio_chunks; SELECT COUNT(*) FROM audio_transcriptions;"
5908
1883
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 archive.db <<'SQL'
ALTER TABLE audio_chunks ADD COLUMN transcription_status TEXT NOT NULL DEFAULT 'pending'
CHECK (transcription_status IN ('pending', 'transcribed', 'silent', 'failed'));
ALTER TABLE audio_chunks ADD COLUMN transcription_attempts INTEGER NOT NULL DEFAULT 0;
ALTER TABLE audio_chunks ADD COLUMN last_transcription_attempt_at TIMESTAMP;
ALTER TABLE audio_chunks ADD COLUMN transcription_failure_reason TEXT;
SQL
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
ssh
Close Tab
âĽâ1
ssh...
|
69115
|
NULL
|
NULL
|
NULL
|
|
69118
|
2477
|
9
|
2026-05-22T07:51:43.921043+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436303921_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
- /Users/lukas/.npm/_npx/47357/lib/node_modules/sc - /Users/lukas/.npm/_npx/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN sc...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0","depth":4,"on_screen":true,"value":"- /Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/47357/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.341 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-1477704874017905106
|
-5427872160301550144
|
idle
|
accessibility
|
NULL
|
- /Users/lukas/.npm/_npx/47357/lib/node_modules/sc - /Users/lukas/.npm/_npx/47357/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/47357/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/47357/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.341 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN sc...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69119
|
2478
|
6
|
2026-05-22T07:52:00.974691+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436320974_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
69113
|
NULL
|
NULL
|
NULL
|
|
69120
|
2477
|
10
|
2026-05-22T07:52:14.059586+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436334059_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
69118
|
NULL
|
NULL
|
NULL
|
|
69121
|
2478
|
7
|
2026-05-22T07:52:31.341786+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436351341_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69122
|
2477
|
11
|
2026-05-22T07:52:44.181023+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436364181_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69123
|
2478
|
8
|
2026-05-22T07:53:01.603762+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436381603_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
69121
|
NULL
|
NULL
|
NULL
|
|
69124
|
2477
|
12
|
2026-05-22T07:53:14.323750+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436394323_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
69122
|
NULL
|
NULL
|
NULL
|
|
69125
|
2478
|
9
|
2026-05-22T07:53:31.923040+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436411923_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 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-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2...
|
69121
|
NULL
|
NULL
|
NULL
|
|
69126
|
2477
|
13
|
2026-05-22T07:53:44.705029+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436424705_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: s...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-4227938653719618082
|
2642578646824285632
|
idle
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: s...
|
69122
|
NULL
|
NULL
|
NULL
|
|
69127
|
2478
|
10
|
2026-05-22T07:54:02.195849+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436442195_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.418831Z INFO screenpipe: meet 2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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
whis...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
1313933337094025858
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.418831Z INFO screenpipe: meet 2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled â independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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
whis...
|
69121
|
NULL
|
NULL
|
NULL
|
|
69128
|
2477
|
14
|
2026-05-22T07:54:14.828985+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436454828_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-8447967381149838304
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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_i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69129
|
2478
|
11
|
2026-05-22T07:54:32.485323+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436472485_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-8447967381149838304
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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_i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69130
|
NULL
|
0
|
2026-05-22T07:54:44.972962+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436484972_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-8447967381149838304
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled â run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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_i...
|
69128
|
NULL
|
NULL
|
NULL
|
|
69131
|
NULL
|
0
|
2026-05-22T07:55:02.731708+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436502731_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.838440Z INFO screenpipe_core: 2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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-22T10:35:54.784954Z 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: App...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:57.542764Z 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=55 elapsed=1.714325208s\n2026-05-22T10:54:57.543626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-05-22T10:54:59.501858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 5.3MB â 0.3MB (20.8x), 33 JPEGs deleted\n2026-05-22T10:55:00.732283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.1MB â 0.2MB (13.0x), 20 JPEGs deleted","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\nââââââââââââââââââââââââââŹâââââââââââââââââââââââââââââââââââââ\nâ setting â value â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio chunk duration â 30 seconds â\nâ port â 3030 â\nâ audio disabled â false â\nâ vision disabled â false â\nâ pause on DRM content â false â\nâ audio engine â \"WhisperTiny\" â\nâ vad engine â Silero â\nâ data directory â /Users/lukas/.screenpipe â\nâ debug mode â false â\nâ telemetry â true â\nâ use pii removal â true â\nâ use all monitors â true â\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\nâ ignored windows â [] â\nâ included windows â [] â\nâ cloud sync â disabled â\nâ auto-destruct pid â 0 â\nâ deepgram key â not set â\nâ api auth â enabled â\nâ encrypt secrets â disabled â\nâ retention days â 14 â\nâ retention mode â media-only (keep transcripts) â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ languages â â\nâ â all languages â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ monitors â â\nâ â id: 1 â\nâ â id: 2 â\nââââââââââââââââââââââââââźâââââââââââââââââââââââââââââââââââââ¤\nâ audio devices â â\nâ â soundcore AeroClip (input) â\nâ â System Audio (output) â\nââââââââââââââââââââââââââ´âââââââââââââââââââââââââââââââââââââ\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z 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.\n2026-05-22T10:23:22.870499Z 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.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z 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=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB â 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z 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=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB â 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB â 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z 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=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z 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=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB â 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB â 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:57.542764Z 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=55 elapsed=1.714325208s\n2026-05-22T10:54:57.543626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-05-22T10:54:59.501858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 5.3MB â 0.3MB (20.8x), 33 JPEGs deleted\n2026-05-22T10:55:00.732283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.1MB â 0.2MB (13.0x), 20 JPEGs deleted","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"âĽâ1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-609871860529612124
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.838440Z INFO screenpipe_core: 2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z 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-22T10:23:22.840078Z 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 â â
â â soundcore AeroClip (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-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found â install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z 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-22T10:23:22.870499Z 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-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z 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=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z 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 14.438 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-22T10:23:47.394802Z 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-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z 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=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB â 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB â 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB â 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z 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=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.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-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z 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=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 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-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z 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=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } â first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z 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=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z 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=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z 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=4 total_pairs=60 total_evicted=25 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-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68918 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
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68931 paired=1 still_pending=0
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-22T10:33:28.105943Z 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=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z 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=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z 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=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z 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=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z 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=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z 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=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB â 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB â 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired eventâframe (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frameâevents (events arrived first) frame_id=68951 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-22T10:35:54.784954Z 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: App...
|
69129
|
NULL
|
NULL
|
NULL
|
|
69132
|
2479
|
0
|
2026-05-22T07:55:12.892606+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436512892_m1.jpg...
|
Slack
|
releases (Channel) - Jiminny Inc - 2 new items - S releases (Channel) - Jiminny Inc - 2 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces⌠(Jiminny Inc) Has new messages
Switch workspaces⌠(Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
MoreâŚ
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
happy_birthday
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Nikolay Yankov
Aneliya Angelova
Stoyan Tanev
James Graham
Stefka Stoyanova
Vasil Vasilev
Stoyan Tomov
Todor Stamatov
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces⌠(Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.51180553,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.50625,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.5138889,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50625,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"bounds":{"left":0.5159722,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.50625,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.0055555557,"height":0.015555556}},{"char_start":1,"char_count":7,"bounds":{"left":0.5159722,"top":0.34333333,"width":0.022222223,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.50625,"top":0.36666667,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.015972223,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":4,"bounds":{"left":0.5208333,"top":0.4188889,"width":0.011805556,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.50625,"top":0.4422222,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"bounds":{"left":0.5152778,"top":0.49444443,"width":0.018055556,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"MoreâŚ","depth":14,"bounds":{"left":0.50625,"top":0.5177778,"width":0.036111113,"height":0.075555556},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"bounds":{"left":0.5152778,"top":0.57,"width":0.01875,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.68472224,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.050694443,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.09166667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.093055554,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.046527777,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.025694445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.072222225,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.057638887,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.054166667,"height":0.007777778},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"bounds":{"left":0.58819443,"top":0.14666666,"width":0.034027778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"happy_birthday","depth":23,"bounds":{"left":0.58819443,"top":0.17777778,"width":0.07083333,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"bounds":{"left":0.58819443,"top":0.20888889,"width":0.048611112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"bounds":{"left":0.58819443,"top":0.24,"width":0.072916664,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.24,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":15,"bounds":{"left":0.59444445,"top":0.24,"width":0.06666667,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"bounds":{"left":0.58819443,"top":0.2711111,"width":0.08055556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"bounds":{"left":0.58819443,"top":0.30222222,"width":0.035416666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"bounds":{"left":0.58819443,"top":0.33333334,"width":0.036805555,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"bounds":{"left":0.58819443,"top":0.36444443,"width":0.05138889,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.36444443,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":11,"bounds":{"left":0.59305555,"top":0.36444443,"width":0.045833334,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"bounds":{"left":0.58819443,"top":0.39555556,"width":0.036111113,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"bounds":{"left":0.58819443,"top":0.42666668,"width":0.05138889,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"bounds":{"left":0.58819443,"top":0.45777777,"width":0.094444446,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.45777777,"width":0.004166667,"height":0.02}},{"char_start":1,"char_count":20,"bounds":{"left":0.5923611,"top":0.45777777,"width":0.09861111,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"bounds":{"left":0.58819443,"top":0.5311111,"width":0.07361111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"bounds":{"left":0.58819443,"top":0.56222224,"width":0.06875,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.58819443,"top":0.5933333,"width":0.07847222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"bounds":{"left":0.58819443,"top":0.6244444,"width":0.060416665,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"James Graham","depth":23,"bounds":{"left":0.58819443,"top":0.65555555,"width":0.06666667,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"bounds":{"left":0.58819443,"top":0.68666667,"width":0.079166666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"bounds":{"left":0.58819443,"top":0.7177778,"width":0.055555556,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.7177778,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":12,"bounds":{"left":0.59444445,"top":0.7177778,"width":0.048611112,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tomov","depth":23,"bounds":{"left":0.58819443,"top":0.7488889,"width":0.06458333,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Todor Stamatov","depth":23,"bounds":{"left":0.58819443,"top":0.78,"width":0.072222225,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"bounds":{"left":0.58819443,"top":0.8111111,"width":0.061805554,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"bounds":{"left":0.65555555,"top":0.8111111,"width":0.013194445,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.65555555,"top":0.8111111,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":2,"bounds":{"left":0.66041666,"top":0.8111111,"width":0.011805556,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"bounds":{"left":0.58819443,"top":0.8844444,"width":0.045833334,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"bounds":{"left":0.58819443,"top":0.91555554,"width":0.024305556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"bounds":{"left":0.71319443,"top":0.12777779,"width":0.06458333,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"bounds":{"left":0.7326389,"top":0.14,"width":0.039583333,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"bounds":{"left":0.7798611,"top":0.12777779,"width":0.04375,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"bounds":{"left":0.79930556,"top":0.14,"width":0.01875,"height":0.017777778},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.79930556,"top":0.14,"width":0.0055555557,"height":0.017777778}},{"char_start":1,"char_count":4,"bounds":{"left":0.8048611,"top":0.14,"width":0.013194445,"height":0.017777778}}],"role_description":"text"},{"role":"AXRadioButton","text":"Bookmarks","depth":17,"bounds":{"left":0.8263889,"top":0.12777779,"width":0.07083333,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Bookmarks","depth":19,"bounds":{"left":0.84583336,"top":0.14,"width":0.045833334,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"bounds":{"left":0.8993056,"top":0.12777779,"width":0.022916667,"height":0.04222222},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"on_screen":false,"role_description":"text"}]...
|
-7545069158094109548
|
-3946109871767743257
|
app_switch
|
hybrid
|
NULL
|
Switch workspaces⌠(Jiminny Inc) Has new messages
Switch workspaces⌠(Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
MoreâŚ
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
happy_birthday
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Nikolay Yankov
Aneliya Angelova
Stoyan Tanev
James Graham
Stefka Stoyanova
Vasil Vasilev
Stoyan Tomov
Todor Stamatov
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69133
|
2480
|
0
|
2026-05-22T07:55:12.933217+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436512933_m2.jpg...
|
Slack
|
releases (Channel) - Jiminny Inc - 2 new items - S releases (Channel) - Jiminny Inc - 2 new items - Slack...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces⌠(Jiminny Inc) Has new messages
Switch workspaces⌠(Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
MoreâŚ
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
happy_birthday
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Nikolay Yankov
Aneliya Angelova
Stoyan Tanev
James Graham
Stefka Stoyanova
Vasil Vasilev
Stoyan Tomov
Todor Stamatov
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Today at 9:22:31 AM
9:22 AM
20 new commits
20 new commits
pushed to
master
master
by
LakyLak
LakyLak
c1a9cee0
c1a9cee0
- Enhance AskAnythingModal: Add clarification comment regarding deletion guard for on-demand prompts
c4b6a4ac
c4b6a4ac
- Improve error handling in updateReportEnabled function to display specific error messages from the server response.
b33fa335
b33fa335
- Refactor tests in AskAnythingSettingsDrawer to assert existence of restored prompts
6865d8c2
6865d8c2
- Improve confirmation modal for prompt deletion in AskAnythingModal and tests
99edca9e
99edca9e
- JY-20676 code review suggestions
Show more
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
GitHub
APP
Today at 9:41:33 AM
9:41 AM
10 new commits
10 new commits
pushed to
master
master
by
LakyLak
LakyLak
e5255d59
e5255d59
- JY-20915 add alias for EU
[CREDIT_CARD]
- JY-20915 fix env recognization
73d4beab
73d4beab
- JY-20915 code smells & tests
5d2dd3e2
5d2dd3e2
- JY-20915 add more tests
b8c8eb56
b8c8eb56
- JY-20915 add sms received test
Show more
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Today at 9:47:53 AM
9:47 AM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 05/22/2026 06:47:53
Tag
:
View Job
View Job
CircleCI
APP
Today at 10:07:45 AM
10:07 AM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 05/22/2026 07:07:45
Tag
:
View Job
View Job
React with white_check_mark
React with eyes
React with raised_hands
Add reactionâŚ
Reply in thread
Forward messageâŚ
Save for later
More actions
New
GitHub
APP
Today at 10:37:58 AM
10:37 AM
4 new commits
4 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
a2e256e3
a2e256e3
- JY-20952: Fix email not showing
2e441081
2e441081
- Merge branch 'master' into JY-20952-fix-email-not-showing
9e4e5dfb
9e4e5dfb
- Merge branch 'master' into JY-20952-fix-email-not-showing
0e376f83
0e376f83
- Merge pull request #12114 from jiminny/JY-20952-fix-email-not-showing
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
React with white_check_mark
React with eyes
React with raised_hands
Add reactionâŚ
Reply in thread
Forward messageâŚ
Save for later
More actions
Processing uploaded file⌠complete! Message ready to be sent.
Channel releases...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces⌠(Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.5152925,"top":1.0,"width":0.011968086,"height":-0.058260202},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"MoreâŚ","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.01761968,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.02925532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.5980718,"top":1.0,"width":0.0026595744,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.024268618,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.043882977,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.04454787,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.022273935,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.012300532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.034574468,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.027593086,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.5518617,"top":1.0,"width":0.025930852,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"happy_birthday","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"James Graham","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tomov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Todor Stamatov","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"bounds":{"left":0.61170214,"top":1.0,"width":0.030917553,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"bounds":{"left":0.64361703,"top":1.0,"width":0.020944148,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Bookmarks","depth":17,"bounds":{"left":0.66589093,"top":1.0,"width":0.033909574,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Bookmarks","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"bounds":{"left":0.70079786,"top":1.0,"width":0.010970744,"height":-0.09177971},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"GitHub","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 9:22:31 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9:22 AM","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"20 new commits","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20 new commits","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"LakyLak","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"LakyLak","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"c1a9cee0","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"c1a9cee0","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- Enhance AskAnythingModal: Add clarification comment regarding deletion guard for on-demand prompts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"c4b6a4ac","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"c4b6a4ac","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- Improve error handling in updateReportEnabled function to display specific error messages from the server response.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"b33fa335","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"b33fa335","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- Refactor tests in AskAnythingSettingsDrawer to assert existence of restored prompts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"6865d8c2","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6865d8c2","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- Improve confirmation modal for prompt deletion in AskAnythingModal and tests","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"99edca9e","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"99edca9e","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20676 code review suggestions","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"jiminny/app","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"GitHub","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 9:41:33 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9:41 AM","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"10 new commits","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10 new commits","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"LakyLak","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"LakyLak","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"e5255d59","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"e5255d59","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20915 add alias for EU","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"89530541","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"89530541","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20915 fix env recognization","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"73d4beab","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"73d4beab","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20915 code smells & tests","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"5d2dd3e2","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"5d2dd3e2","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20915 add more tests","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"b8c8eb56","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"b8c8eb56","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20915 add sms received test","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"jiminny/app","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"CircleCI","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 9:47:53 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9:47 AM","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Deployment Successful! tada emoji","depth":23,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Deployment Successful!","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Project","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": app","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"When","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": 05/22/2026 06:47:53","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Tag","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":":","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"View Job","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View Job","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"CircleCI","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:07:45 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:07 AM","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Deployment Successful! tada emoji","depth":23,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Deployment Successful!","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Project","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": app","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"When","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": 05/22/2026 07:07:45","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Tag","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":":","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"View Job","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"View Job","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reactionâŚ","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward messageâŚ","depth":25,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"GitHub","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:37:58 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:37 AM","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"4 new commits","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4 new commits","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pushed to","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"master","depth":24,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"master","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"by","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"mihailmihaylovjiminny","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"mihailmihaylovjiminny","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"a2e256e3","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"a2e256e3","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- JY-20952: Fix email not showing","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"2e441081","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2e441081","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- Merge branch 'master' into JY-20952-fix-email-not-showing","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"9e4e5dfb","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9e4e5dfb","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- Merge branch 'master' into JY-20952-fix-email-not-showing","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"0e376f83","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"0e376f83","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- Merge pull request #12114 from jiminny/JY-20952-fix-email-not-showing","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"jiminny/app","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"GitHub","depth":25,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"GitHub","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reactionâŚ","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward messageâŚ","depth":25,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":23,"on_screen":true,"value":"","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Processing uploaded file⌠complete! Message ready to be sent.","depth":11,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Channel releases","depth":11,"on_screen":false,"role_description":"text"}]...
|
436054176194258930
|
-8341277078936305575
|
app_switch
|
hybrid
|
NULL
|
Switch workspaces⌠(Jiminny Inc) Has new messages
Switch workspaces⌠(Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
MoreâŚ
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
happy_birthday
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Nikolay Yankov
Aneliya Angelova
Stoyan Tanev
James Graham
Stefka Stoyanova
Vasil Vasilev
Stoyan Tomov
Todor Stamatov
Lukas Kovalik
you
Jira Cloud
Toast
Messages
Messages
Files
Files
Bookmarks
Bookmarks
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
GitHub
APP
Today at 9:22:31 AM
9:22 AM
20 new commits
20 new commits
pushed to
master
master
by
LakyLak
LakyLak
c1a9cee0
c1a9cee0
- Enhance AskAnythingModal: Add clarification comment regarding deletion guard for on-demand prompts
c4b6a4ac
c4b6a4ac
- Improve error handling in updateReportEnabled function to display specific error messages from the server response.
b33fa335
b33fa335
- Refactor tests in AskAnythingSettingsDrawer to assert existence of restored prompts
6865d8c2
6865d8c2
- Improve confirmation modal for prompt deletion in AskAnythingModal and tests
99edca9e
99edca9e
- JY-20676 code review suggestions
Show more
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
GitHub
APP
Today at 9:41:33 AM
9:41 AM
10 new commits
10 new commits
pushed to
master
master
by
LakyLak
LakyLak
e5255d59
e5255d59
- JY-20915 add alias for EU
[CREDIT_CARD]
- JY-20915 fix env recognization
73d4beab
73d4beab
- JY-20915 code smells & tests
5d2dd3e2
5d2dd3e2
- JY-20915 add more tests
b8c8eb56
b8c8eb56
- JY-20915 add sms received test
Show more
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
CircleCI
APP
Today at 9:47:53 AM
9:47 AM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 05/22/2026 06:47:53
Tag
:
View Job
View Job
CircleCI
APP
Today at 10:07:45 AM
10:07 AM
Deployment Successful! tada emoji
Deployment Successful!
Project
: app
When
: 05/22/2026 07:07:45
Tag
:
View Job
View Job
React with white_check_mark
React with eyes
React with raised_hands
Add reactionâŚ
Reply in thread
Forward messageâŚ
Save for later
More actions
New
GitHub
APP
Today at 10:37:58 AM
10:37 AM
4 new commits
4 new commits
pushed to
master
master
by
mihailmihaylovjiminny
mihailmihaylovjiminny
a2e256e3
a2e256e3
- JY-20952: Fix email not showing
2e441081
2e441081
- Merge branch 'master' into JY-20952-fix-email-not-showing
9e4e5dfb
9e4e5dfb
- Merge branch 'master' into JY-20952-fix-email-not-showing
0e376f83
0e376f83
- Merge pull request #12114 from jiminny/JY-20952-fix-email-not-showing
jiminny/app
jiminny/app
|
Added by
GitHub
GitHub
React with white_check_mark
React with eyes
React with raised_hands
Add reactionâŚ
Reply in thread
Forward messageâŚ
Save for later
More actions
Processing uploaded file⌠complete! Message ready to be sent.
Channel releases
FV faVsco.js~?9 masterProjectMáť CLAUDE.md& composer.json0 composer.lock0 dependency-checker.json0 dev.json= ids tytlE infection.json.distM-INSTALL.mdM+ INTERNAL_WEBHOOK_SETUP.mdEjiminny storageM+licenses.mom MakerileŃаŃкаqĐľ-lock. sonE phpstan.neon.dist= phostan-baseline.neon<âş phounit.xmliTe raw sal querv.saML README.mdso sonar-oroiect.oropertiesE test.py<> Untited Diadram.xmlI vetur.config.jsMJ WEBHOOK FILTERING IMPLEMENTATION.moâş ib External Librariesv = Scratches and Consolesv D Database ConsolesVASUA console (EU]A DEAL RISKS [EU]A DI [EU]A EU (EU]v A jiminny@localhostA console ljiminny@localhost]A DI [jiminny@localhost]A HS_local [jiminny@localhost]A SF [iiminny@localhostl& zoho dev liminny@localhostV A PRODA console (PROD]A console_1 [PROD]A DI (PROD]> ĐOAA QAI> A QAI PRODSTAGINGA console [STAGINGIA console 1 [STAGiNG)#uranus STAGINGI>⢠Extensions) M Scratches⢠rli zz May 10-20.34Propnetcllent.onpcetalAcuivity lypeviarropnetservice.onpŠ SyncReŠ GenerateAiActivityTypewsnaredsyncrieldsIrait.onowsyncermrieldstrait.ongC) FieldRepository.phpActivityPlaybookTrait.phpŠ ImportMetadata.phpŠ CrmHelyclass GenerateAiActivityTypeServiceprivate function processAlActivityTypeResponse(arnay Scontent, $activityType = $this->playbookCategoryRepository->findByGrâš$content['ai_activity_type'],sgroupif ($activityType === null) {$this->processingStateManager->setSkipped(sactivity->getldo,state: ActivityProcessingStateManager::STATE_AI_ACTI\sthns->loqger->intolrciHuD⢠' Vetected Al ACtIvITY'activity' => Sactivity->getUuid(),sthis->loalolatadod Sactivity.isDetected: "No')return:Sthis-âşactivityRepository->update(Sactivity, I'playbook_category_id' = $activityType->getId(),151153$this->LogToDatadog(Sactivity,isDetected: IVec1)*$this->processingStateManager->setFinished($activity->getId(),state: ActivityProcessingStateManager::STATE_AI_ACTIVITY.);private function loaToDatadog(Activity Sactivity. string SisDet⢠⢠C0, Chat:= Cowork" Code+ New chat6 Projects8 Artifactse CustomizePinnedO Bu garian cit zenshio aoolication orcDawarich location tracking projectKecents⢠Screenpipe module not found error⢠Interactive language learning throus⢠Recent love experiences⢠Cities visited this year⢠Did I drive today⢠Last visit to Lovech⢠Monthlv spending breakdown and re⢠Swimming visits this vear⢠Screenpipe prune database vacuum e⢠Marking text locations in Screenpipe⢠Updating packages in Laravel⢠Screenpipe data sync and retention n⢠Screenpipe svnc script failing after reO Hubsnot BadRequest headers debug.⢠Monthly expense tracking⢠Exporting transaction data from No⢠@ How much have I spent for groc.⢠April 2026 spending by category⢠Code diff review@ HubSoot rate limit imolementation stiScreenpipe module not found errornode: prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace(internal/modules/cis/loader. is:880.old npm ERR! format. npx cache path_npx/47357/ ) 1s Classic Node 12.X.Check what you've got:bashnode -vwhach nodeI'd bet on v12.x. Fix by upgrading. If you're on nvm:nvm install 20nvm alias default 20nvm use 20homedrew.brew upgrade nodeIf neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since youswitch between work projects.After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:~/.ĐżŃm/_ĐżŃŃ
reenpipealatest record --disable-audio --ignored-windows "Boosteroid" --retention-davsOne thing worth noting â your Jiminny Laravel work probably runs on a specific Nodeversion via the project's nvmrc or package. json engines field. Upgrading thesystem/default Node shouldn't break that as long as nvm respects the project pin, but worth asanity check (yarn install/ npm install in the app repo after upgrading).*Write a message.Relaunch to updatelK lukas. ProOpus 4.7 AdaptiveCiaudo ic Aand can make mistakas Plesco doublo-chork rocnoncod...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69134
|
2479
|
1
|
2026-05-22T07:55:14.749063+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436514749_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe module not found error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe module not found error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Interactive language learning through movies","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Interactive language learning through movies","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-5635066134893357775
|
-5040304408084228348
|
click
|
hybrid
|
NULL
|
Skip to content
Skip to content
Collapse sidebar
S Skip to content
Skip to content
Collapse sidebar
Search
Chat
Cowork
Code
New chat
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe module not found error
More options for Screenpipe module not found error
Interactive language learning through movies
More options for Interactive language learning through movies
iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
69132
|
NULL
|
NULL
|
NULL
|
|
69135
|
2479
|
2
|
2026-05-22T07:55:16.071858+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436516071_m1.jpg...
|
PhpStorm
|
faVsco.js â GenerateAiActivityTypeService.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
NULL
|
-1390722132940296198
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplahlâ˘-zshDOCKER0 81DEV (-zsh)O $82APP (-zsh)screenpipe*84-zshAdm1n@DXP4800PLUS-B5F8:~$cd/volume2/docker/polyglothsudodockercompose build[sudo] password for Admin:[+] Building 1.7s (11/11) FINISHED=> [lang-subsinternal]load builddefinition from Dockerfile=>transferring dockerfile:419Bâ [lang-subs internal] load metadata for docker.io/library/python:3.12-slim=> [lang-subsinternal]loaddockerignore= => transferring context: 2B= [lang-subs 1/6] FROM docker.io/library/python:3.12-slim@sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891=>[lang-subsinternal]load build context=> transferringcontext: 17.29kB=> CACHED [lang-subs 2/6]RUNapt-getupdate && apt-get install-y --no-install-recommendsffmpeg&& rm-rf /var/lib/apt/lists/*=> CACHED [lang-subs 3/6]WORKDIR /app=> CACHED [lang-subs 4/6]COPY requirements.txt=> CACHED [Lang-subs 5/6] RUN pip install--no-cache-dir -r requirements.txt= [lang-subs 6/6] COPY lang_subs.py[lang-subs]exporting toimage= exportinglayers== writingimage sha256:e7b015a420bc2f4a949476ff04d4341276aa701947f508eee59469530f65ee83=>= naming to docker.io/library/polygloth-lang-subsAdm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo rm -rf media/.lang_subs_cache/Sto.Para.5.S01E01Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloth$sudo./run.sh Sto.Para.5.S01E01.mkv --duration 300Video:Sto.Para.5.S01E01.mkvCache: /media/.lang_subs_cache/Sto.Para.5.S01E01[1/4] Extracting audio...Extracting audio (first 300s)...[2/4] Transcribing...Transcribing with large-v3...Warning: You are sending unauthenticated requests to the HF Hub. Pleaseset a HF_TOKEN to enable higher rate limits and faster downloads.6 segments[3/4] Annotating with Claude...Segments 0-5...[4/4] Rendering outputs...Written: /media/Sto.Para.5.S01E01.assWritten: /media/Sto.Para.5.S01E01.study.mdDone.Adm1n@DXP4800PLUS-B5F8:/volume2/docker/polygloths Connection to [IP_ADDRESS] closed by remote host.Connection to [IP_ADDRESS] closed.lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ |100% <478â˘Fri 22 May 10:26:32T81-zshdocker:default0.050.050.950.050.050.050.0s0.050.050.0s0.[IP_ADDRESS].150.050.0s...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69136
|
2480
|
1
|
2026-05-22T07:55:16.898123+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436516898_m2.jpg...
|
PhpStorm
|
faVsco.js â GenerateAiActivityTypeService.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
master, menu
Start Listen Project: faVsco.js, menu
master, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"master, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.040226065,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: master<br/>74 incoming commits<br/>","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-2796147080355312063
|
-8636637127315567163
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
master, menu
Start Listen Project: faVsco.js, menu
master, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
FV faVsco.js~?9 masterProjectMáť CLAUDE.md& composer.json0 composer.lock0 dependency-checker.json0 dev.json= ids tytlE infection.json.distM-INSTALL.mdM+ INTERNAL_WEBHOOK_SETUP.mdEjiminny storageM+licenses.mom MakerileŃаŃкаqĐľ-lock. sonE phpstan.neon.dist= phostan-baseline.neon<âş phounit.xmliTe raw sal querv.saML README.mdso sonar-oroiect.oropertiesE test.py<> Untited Diadram.xmlI vetur.config.jsMJ WEBHOOK FILTERING IMPLEMENTATION.moâş ib External Librariesv = Scratches and Consolesv D Database ConsolesVASUA console (EU]A DEAL RISKS [EU]A DI [EU]A EU (EU]v A jiminny@localhostA console ljiminny@localhost]A DI [jiminny@localhost]A HS_local [jiminny@localhost]A SF [iiminny@localhostl& zoho dev liminny@localhostV A PRODA console (PROD]A console_1 [PROD]A DI (PROD]> ĐOAA QAI> A QAI PRODSTAGINGA console [STAGINGIA console 1 [STAGiNG)#uranus STAGINGI>⢠Extensions) M Scratches⢠rli zz May 10-20.34Propnetcllent.onpcetalAcuivity lypeviarropnetservice.onpŠ SyncReŠ GenerateAiActivityTypewsnaredsyncrieldsIrait.onowsyncermrieldstrait.ongC) FieldRepository.phpActivityPlaybookTrait.phpŠ ImportMetadata.phpŠ CrmHelyclass GenerateAiActivityTypeServiceprivate function processAlActivityTypeResponse(arnay Scontent, $activityType = $this->playbookCategoryRepository->findByGrâš$content['ai_activity_type'],sgroupif ($activityType === null) {$this->processingStateManager->setSkipped(sactivity->getldo,state: ActivityProcessingStateManager::STATE_AI_ACTI\sthns->loqger->intolrciHuD⢠' Vetected Al ACtIvITY'activity' => Sactivity->getUuid(),sthis->loalolatadod Sactivity.isDetected: "No')return:Sthis-âşactivityRepository->update(Sactivity, I'playbook_category_id' = $activityType->getId(),151153$this->LogToDatadog(Sactivity,isDetected: IVec1)*$this->processingStateManager->setFinished($activity->getId(),state: ActivityProcessingStateManager::STATE_AI_ACTIVITY.);private function loaToDatadog(Activity Sactivity. string SisDet⢠⢠C0, Chat:= Cowork" Code+ New chat6 Projects8 Artifactse CustomizePinnedO Bu garian cit zenshio aoolication orcDawarich location tracking projectKecents⢠Screenpipe module not found error⢠Interactive language learning throus⢠Recent love experiences⢠Cities visited this year⢠Did I drive today⢠Last visit to Lovech⢠Monthlv spending breakdown and re⢠Swimming visits this vear⢠Screenpipe prune database vacuum e⢠Marking text locations in Screenpipe⢠Updating packages in Laravel⢠Screenpipe data sync and retention n⢠Screenpipe svnc script failing after reO Hubsnot BadRequest headers debug.⢠Monthly expense tracking⢠Exporting transaction data from No⢠@ How much have I spent for groc.⢠April 2026 spending by category⢠Code diff review@ HubSoot rate limit imolementation stiScreenpipe module not found errornode: prefix for built-in modules) requires Node 14.18+ / 16+, and your stack trace(internal/modules/cis/loader. is:880.old npm ERR! format. npx cache path_npx/47357/ ) 1s Classic Node 12.X.Check what you've got:bashnode -vwhach nodeI'd bet on v12.x. Fix by upgrading. If you're on nvm:nvm install 20nvm alias default 20nvm use 20homedrew.brew upgrade nodeIf neither, install nvm â it's the cleanest way to manage Node on the Mac, especially since youswitch between work projects.After upgrading, clear the stale npx cache before retrying so it doesn't reuse the broken install:~/.ĐżŃm/_ĐżŃŃ
reenpipealatest record --disable-audio --ignored-windows "Boosteroid" --retention-davsOne thing worth noting â your Jiminny Laravel work probably runs on a specific Nodeversion via the project's nvmrc or package. json engines field. Upgrading thesystem/default Node shouldn't break that as long as nvm respects the project pin, but worth asanity check (yarn install/ npm install in the app repo after upgrading).*Write a message.Relaunch to updatelK lukas. ProOpus 4.7 AdaptiveCiaudo ic Aand can make mistakas Plesco doublo-chork rocnoncod...
|
NULL
|
NULL
|
NULL
|
NULL
|